mcpField
C
china-news-crawler

china-news-crawler

github.com/nanmicoderデータ・データベース635118 回インストール12 週間前に更新
リポジトリ

china-news-crawler について

china-news-crawlerは、中国の主要ニュースプラットフォームから記事を抽出するスキルです。URLからプラットフォームを判別し、JSONとMarkdownで保存します。

主な機能

  1. 01中国の5つのニュースプラットフォームに対応
  2. 02URLからプラットフォームを判別
  3. 03記事本文とメタデータを抽出
  4. 04JSONとMarkdownで出力
  5. 05出力先ディレクトリを指定

活用シーン

  1. 01WeChat公式アカウント記事の保存
  2. 02Toutiaoニュース記事の抽出
  3. 03ニュース記事の構造化データ化

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/nanmicoder/newscrawler --skill china-news-crawler

インストール後、Claude Code で/china-news-crawlerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
platform-patterns.md
scripts/
detector.py
extract_news.py
formatter.py
models.py
scripts/crawlers/
__init__.py
base.py
fetchers.py
netease.py
sohu.py
tencent.py
toutiao.py
wechat.py

詳細

中国ニュースクローラー スキル

中国の主要ニュースプラットフォームから記事の内容を抽出し、JSON および Markdown 形式で出力します。

単独で移行可能:この Skill には必要なコードがすべて含まれており、外部依存関係はありません。他のプロジェクトにそのままコピーして使用できます。

対応プラットフォーム

プラットフォームIDURL の例
WeChat 公式アカウントwechathttps://mp.weixin.qq.com/s/xxxxx
今日頭条toutiaohttps://www.toutiao.com/article/123456/
網易ニュースneteasehttps://www.163.com/news/article/ABC123.html
捜狐ニュースsohuhttps://www.sohu.com/a/123456_789
騰訊ニュースtencenthttps://news.qq.com/rain/a/20251016A07W8J00

使用方法

基本的な使い方
# 提取新闻,自动检测平台,输出 JSON + Markdown
uv run .claude/skills/china-news-crawler/scripts/extract_news.py "URL"

# 指定输出目录
uv run .claude/skills/china-news-crawler/scripts/extract_news.py "URL" --output ./output

# 仅输出 JSON
uv run .claude/skills/china-news-crawler/scripts/extract_news.py "URL" --format json

# 仅输出 Markdown
uv run .claude/skills/china-news-crawler/scripts/extract_news.py "URL" --format markdown

# 列出支持的平台
uv run .claude/skills/china-news-crawler/scripts/extract_news.py --list-platforms
出力ファイル

スクリプトはデフォルトで、指定したディレクトリ(デフォルトは ./output)に次の 2 つの形式で出力します:

  • {news_id}.json - 構造化された JSON データ
  • {news_id}.md - Markdown 形式の記事

ワークフロー

  1. URL を受け取る - ユーザーがニュース記事のリンクを提供します
  2. プラットフォームを検出する - プラットフォームの種類を自動的に識別します
  3. コンテンツを抽出する - 対応するクローラーを呼び出してコンテンツを取得・解析します
  4. 形式を変換する - JSON と Markdown を生成します
  5. ファイルを出力する - 指定したディレクトリに保存します

出力形式

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
**原文链接**: [链接](URL)

---

## 正文内容

段落内容...

![图片](URL)

---

## 媒体资源
### 图片 (N)
1. URL1
2. URL2

使用例

WeChat 公式アカウントの記事を抽出する
uv run .claude/skills/china-news-crawler/scripts/extract_news.py \
  "https://mp.weixin.qq.com/s/ebMzDPu2zMT_mRgYgtL6eQ"

出力:

[INFO] Platform detected: wechat (微信公众号)
[INFO] Extracting content...
[INFO] Title: 文章标题
[INFO] Author: 公众号名称
[INFO] Text paragraphs: 15
[INFO] Images: 3
[SUCCESS] Saved: ./output/ebMzDPu2zMT_mRgYgtL6eQ.json
[SUCCESS] Saved: ./output/ebMzDPu2zMT_mRgYgtL6eQ.md
今日頭条の記事を抽出する
uv run .claude/skills/china-news-crawler/scripts/extract_news.py \
  "https://www.toutiao.com/article/7434425099895210546/"

依存関係の要件

この Skill には、以下の Python パッケージが必要です(通常はメインプロジェクトにインストール済みです):

  • parsel
  • pydantic
  • requests
  • curl-cffi
  • tenacity
  • demjson3

エラー処理

エラーの種類説明解決策
无法识别该平台URL が対応プラットフォームのいずれにも一致しませんURL が正しいか確認してください
平台不支持中国以外のサイトですこの Skill は中国のニュースサイトのみをサポートしています
提取失败ネットワークエラー、またはページ構造の変更です再試行するか、URL が有効か確認してください

注意事項

  • 教育および研究目的にのみ使用してください
  • 大規模なクロールは行わないでください
  • 対象ウェブサイトの robots.txt と利用規約を遵守してください
  • WeChat 公式アカウントでは有効な Cookie が必要になる場合があります(現在のデフォルト設定は通常そのまま使用できます)

ディレクトリ構造

china-news-crawler/
├── SKILL.md                      # [必需] Skill 定义文件
├── 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            # 腾讯新闻

参考資料

コメント