mcpField
W
wechat-article-fetcher

wechat-article-fetcher

github.com/liuzln生産性668 回インストール35 週間前に更新
リポジトリ

wechat-article-fetcher について

wechat-article-fetcherは、URLからWeChat公式アカウントの記事を取得するスキルです。記事のメタデータや本文に加え、画像、ページ全体のスクリーンショット、JSON形式の結果を保存できます。コマンドラインでの単体・一括取得に対応します。

主な機能

  1. 01記事のメタデータと全文を取得
  2. 02記事画像をダウンロード
  3. 03ページ全体のスクリーンショットを保存
  4. 04結果をJSON形式で出力
  5. 05複数URLを一括取得

活用シーン

  1. 01画像と合わせて記事をアーカイブ
  2. 02URL一覧から記事データを収集

インストール

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

$npx skills add https://github.com/liuzln/openclaw-skills --skill wechat-article-fetcher

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

同梱ファイル

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

__init__.py
fetch_direct.py
README_QUICKSTART.md
wechat_article_fetcher.py
examples/
fetch_wechat_article.py
scripts/
batch_fetch.py
fetch.py
run_in_venv.py

詳細

WeChat 記事取得スキル

任意のWeChat公式アカウント記事URLに対応した、WeChat公式アカウント記事取得スキルです。画像の自動ダウンロード、JSONへのエクスポート、ページ全体のスクリーンショット保存ができます。

機能

  • ✅ 任意のWeChat公式アカウント記事URLに対応
  • ✅ タイトル、著者、公開日時を自動抽出
  • ✅ 記事の全文を抽出
  • ✅ 記事内の画像を自動ダウンロードして保存
  • ✅ ページ全体のスクリーンショットを保存
  • ✅ 結果をJSON形式でエクスポート
  • ✅ 仮想環境に対応(playwright-envなど)
  • ✅ ヘッドレスモードに対応(UIサーバーのない環境でのデプロイ)
  • ✅ コマンドラインツールに対応

クイックスタート

1. コマンドラインツールを使う
# 爬取单篇文章
python3 skills/wechat-article-fetcher/scripts/fetch.py \
  https://mp.weixin.qq.com/s/HTGvy5C6SYyr5XQhTfTfzw

# 指定输出目录
python3 skills/wechat-article-fetcher/scripts/fetch.py \
  https://mp.weixin.qq.com/s/HTGvy5C6SYyr5XQhTfTfzw \
  --output ./my_articles

# 不保存图片
python3 skills/wechat-article-fetcher/scripts/fetch.py \
  https://mp.weixin.qq.com/s/HTGvy5C6SYyr5XQhTfTfzw \
  --no-images
2. 仮想環境で実行する
# 方式 1: 激活虚拟环境后运行
source playwright-env/bin/activate
python3 skills/wechat-article-fetcher/scripts/fetch.py <url>

# 方式 2: 使用提供的包装脚本
python3 skills/wechat-article-fetcher/scripts/run_in_venv.py \
  <url> --venv /path/to/playwright-env
3. コード内で使う
from wechat_article_fetcher import fetch_article

# 爬取文章
result = fetch_article("https://mp.weixin.qq.com/s/HTGvy5C6SYyr5XQhTfTfzw")

print(f"标题: {result['title']}")
print(f"作者: {result['author']}")
print(f"内容长度: {result['length']}")
print(f"图片数量: {result['images_count']}")

コマンドラインツール

fetch.py - メインの取得ツール
python3 skills/wechat-article-fetcher/scripts/fetch.py [OPTIONS] URL

参数:
  URL                   微信公众号文章 URL(必需)

选项:
  -o, --output PATH     输出目录(默认: ./wechat_articles)
  --no-images           不保存图片
  --no-screenshot       不保存截图
  --headless BOOLEAN    无头模式(默认: true)
  --timeout INTEGER     超时时间(毫秒,默认: 60000)
  -h, --help            显示帮助信息
batch_fetch.py - 一括取得ツール
# 从文件中读取 URL 列表
python3 skills/wechat-article-fetcher/scripts/batch_fetch.py \
  --urls-file urls.txt

# 或者直接在命令行指定多个 URL
python3 skills/wechat-article-fetcher/scripts/batch_fetch.py \
  --urls "url1" "url2" "url3"
run_in_venv.py - 仮想環境での実行ツール
python3 skills/wechat-article-fetcher/scripts/run_in_venv.py \
  <url> --venv /path/to/playwright-env

出力について

取得するたびに、タイムスタンプを名前にしたディレクトリが作成されます。

wechat_articles/
└── 20260302_125500/
    ├── article.json          # JSON 格式结果
    ├── article.png           # 完整页面截图
    └── images/               # 文章图片目录
        ├── 001_image1.jpg
        ├── 002_image2.png
        └── ...
article.json の構造
{
  "title": "文章标题",
  "author": "作者名称",
  "publish_date": "2026-03-02",
  "url": "https://mp.weixin.qq.com/s/...",
  "content": "完整文章内容...",
  "images": [
    {
      "index": 1,
      "url": "https://mmbiz.qpic.cn/...",
      "alt": "图片描述",
      "filename": "001_image.jpg",
      "success": true
    }
  ],
  "images_count": 5,
  "images_dir": "wechat_articles/20260302_125500/images",
  "fetch_time": "2026-03-02T12:55:00.000000",
  "length": 15000
}

設定ファイル

config.jsonを作成して、デフォルト設定をカスタマイズできます。

{
  "headless": true,
  "timeout": 60000,
  "output_dir": "./wechat_articles",
  "save_images": true,
  "save_screenshot": true,
  "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36..."
}

使用例

例1:記事を1件取得する
python3 skills/wechat-article-fetcher/scripts/fetch.py \
  https://mp.weixin.qq.com/s/HTGvy5C6SYyr5XQhTfTfzw
例2:記事を一括取得する

urls.txtを作成します。

https://mp.weixin.qq.com/s/xxx
https://mp.weixin.qq.com/s/yyy
https://mp.weixin.qq.com/s/zzz

次に、以下を実行します。

python3 skills/wechat-article-fetcher/scripts/batch_fetch.py \
  --urls-file urls.txt
例3:仮想環境で使う
python3 skills/wechat-article-fetcher/scripts/run_in_venv.py \
  https://mp.weixin.qq.com/s/HTGvy5C6SYyr5XQhTfTfzw \
  --venv /home/user/playwright-env

ベストプラクティス

  1. 仮想環境を使う:依存関係を分離して、競合を避けます
  2. タイムアウトを適切に設定する:ネットワークの状況に応じて調整します
  3. 一括取得時は間隔を空ける:サーバーへの負荷を避けます
  4. 出力を定期的に確認する:画像とコンテンツがすべて揃っていることを確認します
  5. robots.txtを遵守する:サイトの取得ルールを尊重します

トラブルシューティング

問題:モジュールが見つからない

解決策:正しい仮想環境で実行していることを確認するか、依存関係をインストールします。

pip install playwright
playwright install chromium
問題:ブラウザーを起動できない

解決策:システム依存関係をインストールします。

sudo apt install -y libnss3 libnspr4 libatk1.0-0 libatk-bridge2.0-0 \
  libcups2 libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 \
  libxfixes3 libxrandr2 libgbm1 libasound2
問題:画像のダウンロードに失敗する

解決策:ネットワーク接続を確認するか、--no-imagesを使って画像のダウンロードをスキップします。

問題:ページの読み込みがタイムアウトする

解決策:タイムアウト時間を延長します。

python3 skills/wechat-article-fetcher/scripts/fetch.py \
  <url> --timeout 90000

関連リソース

更新履歴

v1.0.0
  • 初期バージョン
  • 記事1件の取得に対応
  • 画像のダウンロードに対応
  • JSONへのエクスポートに対応
  • ページ全体のスクリーンショットに対応
  • 仮想環境に対応
  • コマンドラインツールを提供
  • 一括取得ツールを提供

コメント