fetching-blocked-urls について
ネットワーク制限のあるAIワークフロー向けに、web_fetchで取得できないURLから読みやすいMarkdownを取得するスキルです。Jina AI readerを代替手段として使い、一時的な失敗にも再試行します。
主な機能
- 01Jina AI reader経由でページ取得
- 02一時的な上流エラーの再試行
- 03Markdownでリンクを保持
- 04アクセス制限の説明
活用シーン
- 01web_fetchが403を返した後の内容取得
- 02JavaScript依存や文字化けページの閲覧
- 03readerサービス失敗時の再試行
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ oaustegard/ claude-skills --skill fetching-blocked-urlsインストール後、Claude Code で/fetching-blocked-urlsを入力して読み込まれたか確認します。
同梱ファイルCHANGELOG.mdREADME.md
詳細
アクセスがブロックされた URL の取得
web_fetch がアクセスできない URL から、読みやすいコンテンツを取得します。Jina AI のリーダーサービスは JavaScript をレンダリングし、ソフトブロックを回避して、整形された Markdown を返します。
有効化の条件
web_fetch が次の結果を返した場合は、このスキルをすぐに実行してください。
- 403 Forbidden またはアクセス拒否
- ペイウォールまたはログイン画面の表示
- 空、文字化け、または途中で切れたコンテンツ
- JavaScript を多用する SPA の読み込み失敗
- タイムアウトエラー
基本コマンド
curl -s --max-time 30 "https://r.jina.ai/TARGET_URL"
このサービスは、ページタイトル、本文テキスト、リンクを保持した Markdown を返します。
再試行パターン
Jina のバックエンドでは約 10%の確率で一時的なエラーが発生します。再試行ロジックを使用して、成功率を 99%以上に高めてください。
for attempt in 1 2 3; do
result=$(curl -s --max-time 30 "https://r.jina.ai/TARGET_URL" 2>&1)
echo "$result" | grep -q "upstream connect error" || { echo "$result"; break; }
[ $attempt -lt 3 ] && sleep 1
done
ワークフローへの統合
- 優先:web_fetch(ネイティブツール)を使用します
- フォールバック:web_fetch が失敗した場合は、再試行付きでこのスキルを使用します
- エスカレーション:再試行を使い切った後にのみ、ユーザーに支援を依頼します
ユーザーに手動でコンテンツをコピーして貼り付けるよう依頼する前に、このフォールバックを試してください。
出力形式
Jina は構造化された Markdown を返します。
Title:ページタイトルURL Source:元の URLMarkdown Content:抽出した本文テキスト(リンクは保持されます)
制限事項
- 長いページは途中で切れる場合があります
- すべてのスクレイパーをブロックするサイトにはアクセスできません
- ログインが必要なコンテンツは、公開部分に限られます
- リアルタイムの動的コンテンツはレンダリングされない場合があります
ドメインアクセス
r.jina.ai は Claude のコンテナーネットワーク設定で許可リストに登録されています。
コメント
Markdown 対応