2025-03-29 21:44:06 +08:00
2025-03-29 21:44:06 +08:00
2025-03-29 16:20:28 +08:00
2025-03-29 00:03:29 +08:00
2025-03-29 00:03:29 +08:00
2025-03-28 23:52:46 +08:00
2025-03-29 16:20:28 +08:00
2025-03-28 22:27:08 +08:00

Podcast Search for Go

这是一个用于搜索播客和解析播客RSS订阅的Go库。支持iTunes和PodcastIndex目录以及章节和转录等新功能。

功能

  • 通过iTunes和PodcastIndex搜索播客
  • 解析播客RSS订阅
  • 获取播客剧集详情
  • 支持播客章节和转录

安装

go get github.com/amugofjava/podcast_search/golang

使用方法

搜索播客

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)
	}
}

加载播客订阅

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文件。

Description
No description provided
Readme 116 KiB
Languages
Go 100%