drillan/headed-fetcher

No description

0 stars0 forksUpdated Jan 24, 2026
npx skills add drillan/headed-fetcher

README

headed-fetcher

Python 3.13+ License: MIT Playwright

ボット対策で保護されたWebページをPlaywrightのheadedブラウザで取得し、Markdown形式に変換するClaude Codeスキルです。

機能(Features)

  • Playwrightブラウザ - ヘッドレス/headedモードでWebページを取得
  • Markdown変換 - HTMLをMarkdownに変換(YAMLフロントマター付き)
  • CSSセレクタ抽出 - 特定の要素のみを抽出
  • リソースブロック - 画像・フォント・メディアをブロックして高速化

前提条件(Requirements)

  • Python 3.13以上
  • uv(Pythonパッケージマネージャー)

インストール(Installation)

skills.shからインストール(推奨)

npx skills add drillan/headed-fetcher

手動インストール

# リポジトリをクローン
git clone https://github.com/drillan/headed-fetcher.git
cd headed-fetcher

# セットアップスクリプト実行(冪等)
./scripts/setup.sh

または、個別にセットアップする場合:

cd headed-fetcher

# 依存関係インストール
uv sync

# Playwrightブラウザインストール
uv run playwright install chromium

使い方(Usage)

基本的な使用方法

# URLを取得してMarkdownに変換(標準出力)
uv run scripts/fetch.py https://example.com

ファイルに出力

uv run scripts/fetch.py https://example.com -o output.md

特定要素のみを抽出

# 記事本文のみを取得
uv run scripts/fetch.py https://example.com --selector "article"

ボット対策サイト用(headedモード)

uv run scripts/fetch.py https://protected-site.com --headed

オプション一覧(Options)

オプション説明
-o FILEファイルに出力
--selector CSSCSSセレクタで要素を抽出
--headedheadedモードで実行(ボット対策回避)
--timeout Nタイムアウト秒数(デフォルト: 30)
--wait-until待機条件(load/domcontentloaded/networkidle)
--no-block-images画像読み込みを有効化
--no-block-fontsフォント読み込みを有効化
--no-block-mediaメディア読み込みを有効化

出力フォーマット(Output Format)

YAMLフロントマター付きのMarkdown形式で出力されます:

---
url: https://example.com
title: Page Title
fetched_at: 2026-01-24T12:34:56Z
---

# Page Heading

Content in Markdown...

終了コード(Exit Codes)

コード意味
0成功
1ネットワークエラー(タイムアウト、DNS、接続)
2セレクタが見つからない
3Markdown変換エラー

Claude Code統合(Claude Code Integration)

いつ使うべきか

  • WebFetchツールが403エラーを返す場合
  • Cloudflareなどのボット対策が表示される場合
  • JavaScriptを実行しないとコンテンツが表示されないサイト

uv run --directoryの使い方

スキルがインストールされたディレクトリから実行する場合は、cdではなく--directoryオプションを使用してください:

# 推奨: --directory オプションを使用
uv run --directory $SKILL_DIR scripts/fetch.py <URL> [options]

# 例(スキルが ~/.claude/skills/headed-fetcher にインストールされている場合)
uv run --directory ~/.claude/skills/headed-fetcher scripts/fetch.py https://example.com --headed

詳細ドキュメント

より詳細な情報(アーキテクチャ、エラー対処、パフォーマンスチューニング等)については、references/REFERENCE.md を参照してください。

ライセンス(License)

MIT License

Publisher

drillandrillan

Statistics

Stars0
Forks0
Open Issues0
CreatedJan 24, 2026