news-extractor

从主流新闻平台提取文章内容,输出 JSON 和 Markdown 格式。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "news-extractor" with this command: npx skills add nanmicoder/newscrawler/nanmicoder-newscrawler-news-extractor

News Extractor Skill

从主流新闻平台提取文章内容,输出 JSON 和 Markdown 格式。

独立可迁移:本 Skill 包含所有必需代码,无外部依赖,可直接复制到其他项目使用。

支持平台 (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 管理依赖。首次使用前需要安装:

cd .claude/skills/news-extractor uv sync

重要: 所有脚本必须使用 uv run 执行,不要直接用 python 运行。

依赖列表

包名 用途

pydantic 数据模型验证

requests HTTP 请求

curl_cffi 浏览器模拟抓取

tenacity 重试机制

parsel HTML/XPath 解析

demjson3 非标准 JSON 解析

使用方式

基本用法

提取新闻,自动检测平台,输出 JSON + Markdown

uv run .claude/skills/news-extractor/scripts/extract_news.py "URL"

指定输出目录

uv run .claude/skills/news-extractor/scripts/extract_news.py "URL" --output ./output

仅输出 JSON

uv run .claude/skills/news-extractor/scripts/extract_news.py "URL" --format json

仅输出 Markdown

uv run .claude/skills/news-extractor/scripts/extract_news.py "URL" --format markdown

Twitter 受保护推文 (需要 Cookie)

uv run .claude/skills/news-extractor/scripts/extract_news.py "URL" --cookie "auth_token=xxx; ct0=yyy"

列出支持的平台

uv run .claude/skills/news-extractor/scripts/extract_news.py --list-platforms

输出文件

脚本默认输出两种格式到指定目录(默认 ./output ):

  • {news_id}.json

  • 结构化 JSON 数据

  • {news_id}.md

  • Markdown 格式文章

工作流程

  • 接收 URL - 用户提供新闻链接

  • 平台检测 - 自动识别平台类型

  • 内容提取 - 调用对应爬虫获取并解析内容

  • 格式转换 - 生成 JSON 和 Markdown

  • 输出文件 - 保存到指定目录

输出格式

JSON 结构

{ "title": "文章标题", "news_url": "原始链接", "news_id": "文章ID", "meta_info": { "author_name": "作者/来源", "author_url": "", "publish_time": "2024-01-01 12:00" }, "contents": [ {"type": "text", "content": "段落文本", "desc": ""}, {"type": "image", "content": "https://...", "desc": ""}, {"type": "video", "content": "https://...", "desc": ""} ], "texts": ["段落1", "段落2"], "images": ["图片URL1", "图片URL2"], "videos": [] }

Markdown 结构

文章标题

文章信息

作者: xxx 发布时间: 2024-01-01 12:00 原文链接: 链接


正文内容

段落内容...

图片


媒体资源

图片 (N)

  1. URL1
  2. URL2

使用示例

提取微信公众号文章

uv run .claude/skills/news-extractor/scripts/extract_news.py
"https://mp.weixin.qq.com/s/ebMzDPu2zMT_mRgYgtL6eQ"

提取 BBC 新闻

uv run .claude/skills/news-extractor/scripts/extract_news.py
"https://www.bbc.com/news/articles/c797qlx93j0o"

提取 Twitter 推文

公开推文 (无需认证)

uv run .claude/skills/news-extractor/scripts/extract_news.py
"https://x.com/BarackObama/status/896523232098078720"

受保护推文 (需要 Cookie)

uv run .claude/skills/news-extractor/scripts/extract_news.py
"https://x.com/user/status/123456" --cookie "auth_token=xxx; ct0=yyy"

错误处理

错误类型 说明 解决方案

无法识别该平台

URL 不匹配任何支持的平台 检查 URL 是否正确

平台不支持

非支持的站点 本 Skill 仅支持列出的 12 个平台

提取失败

网络错误或页面结构变化 重试或检查 URL 有效性

认证失败

Twitter Cookie 无效 重新获取 Cookie

注意事项

  • 仅用于教育和研究目的

  • 不要进行大规模爬取

  • 尊重目标网站的 robots.txt 和服务条款

  • 微信公众号可能需要有效的 Cookie(当前默认配置通常可用)

  • Twitter 公开推文无需认证,受保护推文需要 Cookie

目录结构

news-extractor/ ├── SKILL.md # [必需] Skill 定义文件 ├── pyproject.toml # 依赖管理 ├── references/ │ └── platform-patterns.md # 平台 URL 模式说明 └── scripts/ ├── extract_news.py # CLI 入口脚本 ├── models.py # 数据模型 ├── detector.py # 平台检测 ├── formatter.py # Markdown 格式化 └── crawlers/ # 爬虫模块 ├── init.py ├── base.py # BaseNewsCrawler 基类 ├── fetchers.py # HTTP 获取策略 ├── wechat.py # 微信公众号 ├── toutiao.py # 今日头条 ├── netease.py # 网易新闻 ├── sohu.py # 搜狐新闻 ├── tencent.py # 腾讯新闻 ├── bbc.py # BBC News ├── cnn.py # CNN News ├── twitter.py # Twitter/X ├── twitter_client.py # Twitter API 客户端 ├── twitter_types.py # Twitter 数据类型 ├── lenny.py # Lenny's Newsletter ├── naver.py # Naver Blog ├── detik.py # Detik News └── quora.py # Quora

参考

  • 平台 URL 模式说明

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

arxiv-paper-writer

Use this skill whenever the user wants Claude Code to write, scaffold, compile, debug, or review an arXiv-style academic paper, especially survey papers with LaTeX, BibTeX citations, TikZ figures, tables, and PDF output. This skill should trigger for requests like writing a full paper, creating an arXiv paper project, turning a research topic into a LaTeX manuscript, reproducing the Paper-Write-Skill-Test agent-survey workflow, or setting up a Windows/Linux Claude Code paper-writing loop.

Archived SourceRecently Updated
Coding

cli-proxy-troubleshooting

排查 CLI Proxy API(codex-api-proxy)的配置、认证、模型注册和请求问题。适用场景包括:(1) AI 请求报错 unknown provider for model, (2) 模型列表中缺少预期模型, (3) codex-api-key/auth-dir 配置不生效, (4) CLI Proxy 启动后 AI 无法调用, (5) 认证成功但请求失败或超时。包含源码级排查方法:模型注册表架构、认证加载链路、 SanitizeCodexKeys 规则、常见错误的真实根因。

Archived SourceRecently Updated
Coding

visual-summary-analysis

Performs AI analysis on input video clips/image content and generates a smooth, natural scene description. | 视觉摘要智述技能,对传入的视频片段/图片内容进行AI分析,生成一段通顺自然的场景描述内容

Archived SourceRecently Updated
Coding

frontend-skill

全能高级前端研发工程师技能。擅长AI时代前沿技术栈(React最新 + shadcn/ui + Tailwind CSS v4 + TypeScript + Next.js),精通动效库与交互特效开发。采用Glue Code风格快速实现代码,强调高质量产品体验与高度友好的UI视觉规范。在组件调用、交互特效、全局Theme上保持高度规范:绝不重复造轮子,相同逻辑出现两次即封装为组件。具备安全意识,防范各类注入攻击。开发页面具有高度自适应能力,响应式设计贯穿始终。当用户无特殊技术栈要求时,默认采用主流前沿技术栈。

Archived SourceRecently Updated