news-extractor

新闻站点内容提取。支持 12 个平台:微信公众号、今日头条、网易新闻、搜狐新闻、腾讯新闻、BBC News、CNN News、Twitter/X、Lenny's Newsletter、Naver Blog、Detik News、Quora。当用户需要提取新闻内容、抓取公众号文章、爬取新闻、或获取新闻JSON/Markdown时激活。

By nanmicoder · 378 installs

npx skills add nanmicoder/newscrawler --skill news-extractor

Source repository · Upstream listing

News Extractor Skill 从主流新闻平台提取文章内容,输出 JSON 和 Markdown 格式。 标准兼容、独立可迁移 :本目录遵循 Agent Skills 规范,包含完整的 SKILL.md 、脚本与依赖,不依赖 NewsCrawler 的其他模块。通过兼容的 Skills 安装器安装后,运行一次 uv sync 即可使用。 运行环境需要 Python 3.9+、 uv 和目标站点的网络访问。 支持平台 (12) 中文平台 平台 ID URL 示例 微信公众号 wechat https://mp.weixin.qq.com/s/xxxxx 今日头条 toutiao https://www.toutiao.com/article/123456/ 网易新闻 netease https://www.163.com/news/article/ABC123.html 搜狐新闻 sohu https://www.sohu.com/a/123456 789 腾讯新闻 tencent https://news.qq.com/rain/a/20251016A07W8J00 国际平台 平台 ID URL 示例 BBC News bbc https://www.bbc.com/news/articles/c797qlx93j0o CNN News cnn https://edition.cnn.com/2025/10/27/uk/article slug Twitter/X twitter https://x.com/user/status/123456789 Lenny's Newsletter lenny https://www.lennysnewsletter.com/p/article slug Naver Blog naver https://blog.naver.com/username/123456 Detik News detik https://news.detik.com/internasional/d 123456/slug Quora quora https://www.quora.com/question/answers/123456 依赖安装 本 skill 使用 uv 管理依赖。首次使用前需要安装: 重要 : 所有脚本必须使用 uv run 执行,不要直接用 python 运行。 依赖列表 包名 用途 pydantic 数据模型验证 requests HTTP 请求 curl cffi 浏览器模拟抓取 tenacity 重试机制 parsel HTML/XPath 解析 demjson3 非标准 JSON 解析 使用方式 基本用法 输出文件 脚本默认输出两种格式到指定目录(默认 ./output ): {news id}.json 结构化 JSON 数据 {news id}.md Markdown 格式文章 工作流程 1. 接收 URL 用户提供新闻链接 2. 平台检测 自动识别平台类型 3. 内容提取 调用对应爬虫获取并解析内容 4. 格式转换 生成 JSON 和 Markdown 5. 输出文件 保存到指定目录 输出格式 JSON 结构 Markdown 结构 使用示例 提取微信公众号文章 提取 BBC 新闻 提取 Twitter 推文 错误处理 错误类型 说明 解决方案 无法识别该平台 URL 不匹配任何支持的平台 检查 URL 是否正确 平台不支持 非支持的站点 本 Skill 仅支持列出的 12 个平台 提取失败 网络错误或页面结构变化 重试或检查 URL 有效性 认证失败 Twitter Cookie 无效 重新获取 Cookie 注意事项 仅用于教育和研究目的 不要进行大规模爬取 尊重目标网站的 robots.txt 和服务条款 微信公众号可能需要有效的 Cookie(当前默认配置通常可用) Twitter 公开推文无需认证,受保护推文需要 Cookie 目录结构 参考 [平台 URL 模式说明](references/platform patterns.md)