web-scraper について
ウェブページを取得し、HTMLを整形したMarkdownに変換するPythonスクリプトです。ページ本文を扱うワークフロー向けで、タイムアウトや出力長を指定でき、生のHTMLも出力できます。
主な機能
- 01ページ取得とMarkdown変換
- 02リクエストタイムアウトの指定
- 03出力長の制限
- 04生のHTML出力 विकल्प
- 05複数URLの並列取得
活用シーン
- 01記事を抽出して後続処理に利用
- 02複数ページのコンテンツ収集
- 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
ワークフロー
- 単一の URL:URL を指定して
fetch_url.pyを実行します - 複数の URL:バックグラウンドプロセスを使用して、複数の取得コマンドを並列で実行します
- エラーへの対処:URL の取得に失敗した場合は、以下を確認します。
- ネットワーク接続
- URL が有効かどうか
- Web サイトが自動リクエストをブロックしている可能性があります(別の User-Agent を試すか、ブラウザー自動化を使用してください)
出力形式
このスクリプトは、HTML をクリーンな Markdown に変換します。
- 見出し →
#、##、###など - リスト → 順不同リストには
-、順序付きリストには1. - 太字/斜体 →
**bold**、*italic* - コードブロックは保持されます
- ナビゲーション、フッター、広告は削除されます
トラブルシューティング
403 Forbidden:Web サイトが自動リクエストをブロックしています。以下を検討してください。
- JavaScript によるレンダリングが必要なサイトもあります(このスクリプトではサポートされていません)
- 別のネットワークからのアクセスを試してください
タイムアウトエラー:--timeout 60 を指定してタイムアウトを延長します
コンテンツが空:Web サイトでコンテンツの表示に JavaScript が必要な可能性があります
コメント
Markdown 対応