mcpField
W
web-scraper

web-scraper

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

web-scraper について

ウェブページを取得し、HTMLを整形したMarkdownに変換するPythonスクリプトです。ページ本文を扱うワークフロー向けで、タイムアウトや出力長を指定でき、生のHTMLも出力できます。

主な機能

  1. 01ページ取得とMarkdown変換
  2. 02リクエストタイムアウトの指定
  3. 03出力長の制限
  4. 04生のHTML出力 विकल्प
  5. 05複数URLの並列取得

活用シーン

  1. 01記事を抽出して後続処理に利用
  2. 02複数ページのコンテンツ収集
  3. 03タイムアウトや空の結果の調査

インストール

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

$npx skills add https://github.com/spacezephyr/myskill --skill web-scraper

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

同梱ファイルscripts/fetch_url.py

詳細

Web Scraper

Web ページのコンテンツを取得し、クリーンな Markdown 形式に変換します。

使用方法

取得スクリプトを実行して、Web コンテンツを取得します。

python3 scripts/fetch_url.py <url> [options]
オプション
  • --timeout <seconds>:リクエストのタイムアウト(デフォルト:30)
  • --max-length <chars>:出力の最大文字数(デフォルト:100000)
  • --raw:Markdown ではなく、生の HTML を出力します
例

単一の URL を取得:

python3 scripts/fetch_url.py "https://example.com/article"

カスタムのタイムアウトで取得:

python3 scripts/fetch_url.py "https://example.com/article" --timeout 60

複数の URL を並列で取得:

for url in "https://url1.com" "https://url2.com"; do
  python3 scripts/fetch_url.py "$url" &
done
wait

ワークフロー

  1. 単一の URL:URL を指定して fetch_url.py を実行します
  2. 複数の URL:バックグラウンドプロセスを使用して、複数の取得コマンドを並列で実行します
  3. エラーへの対処:URL の取得に失敗した場合は、以下を確認します。
    • ネットワーク接続
    • URL が有効かどうか
    • Web サイトが自動リクエストをブロックしている可能性があります(別の User-Agent を試すか、ブラウザー自動化を使用してください)

出力形式

このスクリプトは、HTML をクリーンな Markdown に変換します。

  • 見出し → #、##、### など
  • リスト → 順不同リストには -、順序付きリストには 1.
  • 太字/斜体 → **bold**、*italic*
  • コードブロックは保持されます
  • ナビゲーション、フッター、広告は削除されます

トラブルシューティング

403 Forbidden:Web サイトが自動リクエストをブロックしています。以下を検討してください。

  • JavaScript によるレンダリングが必要なサイトもあります(このスクリプトではサポートされていません)
  • 別のネットワークからのアクセスを試してください

タイムアウトエラー:--timeout 60 を指定してタイムアウトを延長します

コンテンツが空:Web サイトでコンテンツの表示に JavaScript が必要な可能性があります

コメント