# Podcast Search for Go 这是一个用于搜索播客和解析播客RSS订阅的Go库。支持iTunes和PodcastIndex目录,以及章节和转录等新功能。 ## 功能 - 通过iTunes和PodcastIndex搜索播客 - 解析播客RSS订阅 - 获取播客剧集详情 - 支持播客章节和转录 ## 安装 ```bash go get github.com/amugofjava/podcast_search/golang ``` ## 使用方法 ### 搜索播客 ```go package main import ( "fmt" "github.com/amugofjava/podcast_search/golang/search" ) func main() { // 创建iTunes搜索提供者 searchProvider := search.NewITunesProvider() // 搜索播客 result, err := searchProvider.SearchPodcasts("golang", nil) if err != nil { fmt.Printf("搜索错误: %v\n", err) return } // 打印结果 fmt.Printf("找到 %d 个播客\n", result.ResultCount) for _, item := range result.Items { fmt.Printf("标题: %s\n", item.Title) fmt.Printf("作者: %s\n", item.Author) fmt.Printf("Feed URL: %s\n\n", item.FeedURL) } } ``` ### 加载播客订阅 ```go package main import ( "fmt" "github.com/amugofjava/podcast_search/golang/model" ) func main() { // 加载播客订阅 podcast, err := model.LoadFeed("https://feeds.simplecast.com/XA_851k3") if err != nil { fmt.Printf("加载订阅错误: %v\n", err) return } // 打印播客信息 fmt.Printf("标题: %s\n", podcast.Title) fmt.Printf("描述: %s\n", podcast.Description) fmt.Printf("剧集数量: %d\n\n", len(podcast.Episodes)) // 打印剧集信息 for i, episode := range podcast.Episodes { if i >= 3 { break // 只显示前3个剧集 } fmt.Printf("剧集: %s\n", episode.Title) fmt.Printf("发布日期: %s\n\n", episode.PublicationDate) } } ``` ## 许可证 此库使用MIT许可证。详情请参阅LICENSE文件。