web-archive-scraper について
Internet Archive の Wayback Machine からウェブサイトのスナップショットを探す Python のコマンドラインスキルです。結果の絞り込みや重複排除ができ、API キーなしで保存済み HTML を取得して読みやすいテキストにできます。
主な機能
- 01URL と一致方式でスナップショット検索
- 02日付、ステータス、MIME タイプで絞り込み
- 03期間単位でスナップショットを重複排除
- 04保存済み HTML コンテンツの取得
- 05JSON、CSV、要約で出力
活用シーン
- 01旧サイトから顧客やパートナー一覧を復元
- 02サイト改修前の推薦文を取得
- 03競合のメッセージの変化を追跡
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ gooseworks-ai/ goose-skills --skill web-archive-scraperインストール後、Claude Code で/web-archive-scraperを入力して読み込まれたか確認します。
同梱ファイルscripts/search_archive.pyskill.meta.json
詳細
Web Archive Scraper
Wayback Machine(Internet Archive)で、ウェブサイトのアーカイブ済みスナップショットを検索します。キャッシュされたページのコンテンツを取得し、変更または閉鎖されたサイトから顧客リスト、推薦文、パートナー一覧などの情報を見つけます。
クイックスタート
依存関係は requests のみです。API キーは不要です。
# Find all snapshots of a URL
python3 skills/web-archive-scraper/scripts/search_archive.py \
--url "https://botkeeper.com/customers"
# Search with date range
python3 skills/web-archive-scraper/scripts/search_archive.py \
--url "https://botkeeper.com" --from 2025-01-01 --to 2026-02-01
# Search all pages under a domain (prefix match)
python3 skills/web-archive-scraper/scripts/search_archive.py \
--url "https://botkeeper.com" --match prefix --limit 50
# Fetch the actual archived page content
python3 skills/web-archive-scraper/scripts/search_archive.py \
--url "https://botkeeper.com/customers" --fetch
# Output formats
python3 skills/web-archive-scraper/scripts/search_archive.py --url URL --output json
python3 skills/web-archive-scraper/scripts/search_archive.py --url URL --output csv
python3 skills/web-archive-scraper/scripts/search_archive.py --url URL --output summary
仕組み
- CDX API 検索 —
web.archive.org/cdx/search/cdxに問い合わせて、URL に一致するスナップショットを検索します - フィルタリング — 日付範囲、HTTP ステータスコード、MIME タイプで絞り込みます
- 重複排除 — デフォルトでは、重複した結果を避けるため、1 日につき 1 つのスナップショットにまとめます
- コンテンツ取得 — 必要に応じて、アーカイブされた HTML をそのまま取得します(Wayback ツールバーをスキップするために
id_修飾子を使用します) - テキスト抽出 — コンテンツ取得時に、HTML タグを取り除いて読みやすいテキストを出力します
CLI リファレンス
| フラグ | デフォルト | 説明 |
|---|---|---|
--url | 必須 | アーカイブ内で検索する対象 URL |
--match | exact | 一致タイプ:exact、prefix、host、domain |
--from | なし | 開始日(YYYY-MM-DD) |
--to | なし | 終了日(YYYY-MM-DD) |
--limit | 25 | 返すスナップショットの最大数 |
--fetch | false | 最新のスナップショットのコンテンツを取得して表示します |
--fetch-all | false | 一致したすべてのスナップショットのコンテンツを取得します(--limit は小さい値に設定してください) |
--status | 200 | HTTP ステータスフィルター(すべてを含めるには「any」に設定します) |
--output | json | 出力形式:json、csv、summary |
--collapse | day | 重複排除のレベル:none、day、month、year |
出力スキーマ
{
"url": "https://botkeeper.com/customers",
"timestamp": "20250915143022",
"datetime": "2025-09-15T14:30:22",
"status_code": "200",
"mime_type": "text/html",
"archive_url": "https://web.archive.org/web/20250915143022/https://botkeeper.com/customers",
"raw_url": "https://web.archive.org/web/20250915143022id_/https://botkeeper.com/customers",
"content": "..."
}
content フィールドに値が設定されるのは、--fetch または --fetch-all を使用した場合のみです。
コスト
無料です。Wayback Machine CDX API の利用に認証や API キーは不要です。レート制限は約 15 リクエスト/分です。
よくあるユースケース
- 閉鎖した企業の顧客リストを見つける(例:botkeeper.com)
- サイトのリニューアル前に推薦文や事例を復元する
- 競合他社のメッセージの経時的な変化を追跡する
- 削除されたパートナー一覧を見つける
コメント
Markdown 対応