generated by Claude-3.7-Sonnet
This commit is contained in:
87
README.md
Normal file
87
README.md
Normal file
@@ -0,0 +1,87 @@
|
||||
# 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文件。
|
||||
Reference in New Issue
Block a user