用途:读取并解析 RSS/Atom 订阅源,适用于获取订阅源最新文章、订阅新闻来源、监控博客更新以及聚合多个订阅源。
主要能力:获取订阅源信息并判断是 RSS 还是 Atom;列出订阅源条目;获取最新 N 条条目的标题与日期;提取文章链接;支持用 xmlstarlet、xmllint、Python、yq 等工具解析。
使用方式:先用 curl 拉取订阅源内容,例如 curl -s "https://example.com/feed.xml" | head -20 查看信息,curl -s "https://example.com/feed.xml" | head -1 判断类型。解析示例:curl -s "feed.xml" | xmlstarlet sel -t -m "//item" -v "title" -n 列出全部标题;curl -s "feed.xml" | xmlstarlet sel -t -m "//item[position() <= 5]" -v "title" -n 获取最新 5 条标题;也可用 xmllint --format 格式化,或用 Python 的 xml.etree.ElementTree 与 urllib.request 遍历 item 输出标题。常见订阅源地址模式:WordPress 为 /feed/ 或 /feed/rss/,Medium 为 /{username}/feed,YouTube 为 https://www.youtube.com/feeds/videos.xml?channel_id={id},Twitter 可借助 Nitter 或 RSSHub。
限制与注意:RSS 与 Atom 元素名不同,Atom 使用 entry 而非 item;部分订阅源需要 user-agent 请求头;建议缓存订阅源以避免过多请求。GitHub 本身不提供 RSS,可用其 API 替代。具体安装命令与更多细节以原始资料为准。