Files
podcast-search-go/README.md
2025-03-28 22:27:08 +08:00

87 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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文件。