SuperAPI AI 工具集

cmd-rss-feed-generator

编程与开发

查看项目

更新于 10-16 02:37

技能介绍

用途:把不提供 RSS 的博客网站转换为规范的 RSS/XML 订阅源,生成 Python 脚本后随合并自动纳入每小时运行的 GitHub Actions 工作流。本技能面向创建脚本的流程指导,本身不提供抓取功能。

主要能力与工作流:先查看 feed_generators/ 下已有生成器作为参考(如 anthropic_news_blog.py、xainews_blog.py、ollama_blog.py、blogsurgeai_feed_generator.py),再分析目标博客的 HTML 结构(文章容器与 CSS 选择器、标题、日期格式与位置、全文链接、分类标签、摘要),随后编写脚本。脚本需包含 get_project_root、ensure_feeds_directory、fetch_content、parse_date、extract_articles、parse_html、generate_rss_feed、save_rss_feed、main 等函数,并实现多格式日期解析、按链接集合去重、单篇文章失败时记录警告并继续、本地 HTML 文件回退支持以及 logging 日志输出。之后在 makefiles/feeds.mk 添加 make 目标(如 feeds_new_site),并在主 Makefile 加旧版别名。

测试与集成:可用本地 HTML 运行 python feed_generators/new_site_blog.py blog.html,或用 make feeds_new_site;检查 feeds/feed_new_site.xml 输出。集成检查项包括命名遵循 new_site_blog.py、输出遵循 feed_new_site.xml、make 目标已添加、同时支持网页抓取与本地文件、文章按日期倒序、去重、单篇失败不中断。

常见模式:JavaScript 渲染内容可参考 blogsurgeai_feed_generator.py 的 Selenium/undetected-chromedriver 示例;多板块站点参考 Anthropic 系列生成器;增量更新参考 anthropic_news_blog.py 的 get_existing_links_from_feed() 模式。

限制与排障:站点若返回 403/429 可先用浏览器“另存为”本地 HTML 开发测试,或调整 User-Agent;找不到文章需核对 CSS 选择器或改用动态加载方案;日期解析失败需在 date_formats 中加入对应格式。使用前提是项目已具备 feed_generators/、Makefile 与 GitHub Actions 环境;具体依赖版本、安装命令与官方收费情况暂未提供。