jpskill.com
🛠️ 開発・MCP コミュニティ

web-scraping-automation

ウェブサイトのデータやAPIから情報を自動的に収集し、必要なデータの抽出、解析、スクリプト作成などを効率的に行い、業務を効率化するSkill。

📜 元の英語説明(参考)

自动化爬取网站数据和 API 接口。当用户需要抓取网页内容、调用 API、解析数据或创建爬虫脚本时使用此技能。

🇯🇵 日本人クリエイター向け解説

一言でいうと

ウェブサイトのデータやAPIから情報を自動的に収集し、必要なデータの抽出、解析、スクリプト作成などを効率的に行い、業務を効率化するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o web-scraping-automation.zip https://jpskill.com/download/8269.zip && unzip -o web-scraping-automation.zip && rm web-scraping-automation.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/8269.zip -OutFile "$d\web-scraping-automation.zip"; Expand-Archive "$d\web-scraping-automation.zip" -DestinationPath $d -Force; ri "$d\web-scraping-automation.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して web-scraping-automation.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → web-scraping-automation フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

ウェブスクレイピングと API 自動化

機能説明

このスキルは、ウェブサイトのデータスクレイピングと API インターフェースの呼び出しを自動化するために特化しており、以下を含みます。

  • ウェブサイトの構造の分析とスクレイピング
  • REST/GraphQL API の呼び出しとテスト
  • 自動化されたクローリングスクリプトの作成
  • データ解析とクレンジング
  • アンチクローリングメカニズムの処理
  • 定期的なタスクとデータストレージ

使用シーン

  • 「このウェブサイトの製品情報をスクレイピングする」
  • 「この API を呼び出して、返されたデータを解析するのを手伝って」
  • 「ニュースを定期的に取得するスクリプトを作成する」
  • 「このウェブサイトの API インターフェースドキュメントを分析する」
  • 「このウェブサイトのアンチクローリング制限を回避する」

技術スタック

Python クローリング

  • requests: HTTP リクエストライブラリ
  • BeautifulSoup4: HTML 解析
  • Scrapy: プロフェッショナルなクローリングフレームワーク
  • Selenium: ブラウザ自動化
  • Playwright: 最新のブラウザ自動化

JavaScript クローリング

  • axios: HTTP クライアント
  • cheerio: サーバーサイド jQuery
  • puppeteer: Chrome 自動化
  • node-fetch: Fetch API

ワークフロー

  1. 目標分析:

    • ウェブサイトの構造とデータの場所を確認する
    • API インターフェースと認証方法を分析する
    • アンチクローリングメカニズムを評価する
  2. ソリューション設計:

    • 適切な技術スタックを選択する
    • データ抽出戦略を設計する
    • エラー処理と再試行メカニズムを計画する
  3. スクリプト開発:

    • クローリングコードを記述する
    • データ解析ロジックを実装する
    • ログと監視を追加する
  4. テストと最適化:

    • データの正確性を検証する
    • パフォーマンスと安定性を最適化する
    • 境界条件を処理する

ベストプラクティス

  • robots.txt ルールを遵守する
  • 適切なリクエスト間隔を設定する
  • User-Agent とリクエストヘッダーを使用する
  • エラー再試行メカニズムを実装する
  • データの重複排除と検証
  • プロキシプールを使用する(必要な場合)
  • 元のデータとログを保存する

共通シーンの例

1. 簡単なウェブページスクレイピング

import requests
from bs4 import BeautifulSoup

def scrape_website(url):
    headers = {'User-Agent': 'Mozilla/5.0'}
    response = requests.get(url, headers=headers)
    soup = BeautifulSoup(response.text, 'html.parser')

    # データの抽出
    data = []
    for item in soup.select('.product'):
        data.append({
            'title': item.select_one('.title').text,
            'price': item.select_one('.price').text
        })
    return data

2. API 呼び出し

import requests

def call_api(endpoint, params=None):
    headers = {
        'Authorization': 'Bearer YOUR_TOKEN',
        'Content-Type': 'application/json'
    }
    response = requests.get(endpoint, headers=headers, params=params)
    return response.json()

3. 動的なウェブページのスクレイピング

from selenium import webdriver
from selenium.webdriver.common.by import By

def scrape_dynamic_page(url):
    driver = webdriver.Chrome()
    driver.get(url)

    # ページのロードを待機
    driver.implicitly_wait(10)

    # データの抽出
    elements = driver.find_elements(By.CLASS_NAME, 'item')
    data = [elem.text for elem in elements]

    driver.quit()
    return data

アンチクローリング対策

  • リクエストヘッダーの偽装: 本物のブラウザをシミュレートする
  • プロキシのローテーション: プロキシプールを使用する
  • 検証コードの処理: OCR またはサードパーティサービス
  • Cookie 管理: セッション状態を維持する
  • リクエスト頻度の制御: 制限のトリガーを回避する
  • JavaScript レンダリング: Selenium/Playwright を使用する

データストレージソリューション

  • CSV/Excel: 簡単なデータエクスポート
  • JSON: 構造化されたデータストレージ
  • データベース: MySQL、PostgreSQL、MongoDB
  • クラウドストレージ: S3、OSS
  • データウェアハウス: 大規模なデータ分析に使用
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

网站爬取与 API 自动化

功能说明

此技能专门用于自动化网站数据爬取和 API 接口调用,包括:

  • 分析和爬取网站结构
  • 调用和测试 REST/GraphQL API
  • 创建自动化爬虫脚本
  • 数据解析和清洗
  • 处理反爬虫机制
  • 定时任务和数据存储

使用场景

  • "爬取这个网站的产品信息"
  • "帮我调用这个 API 并解析返回数据"
  • "创建一个脚本定时抓取新闻"
  • "分析这个网站的 API 接口文档"
  • "绕过这个网站的反爬虫限制"

技术栈

Python 爬虫

  • requests:HTTP 请求库
  • BeautifulSoup4:HTML 解析
  • Scrapy:专业爬虫框架
  • Selenium:浏览器自动化
  • Playwright:现代浏览器自动化

JavaScript 爬虫

  • axios:HTTP 客户端
  • cheerio:服务端 jQuery
  • puppeteer:Chrome 自动化
  • node-fetch:Fetch API

工作流程

  1. 目标分析

    • 检查网站结构和数据位置
    • 分析 API 接口和认证方式
    • 评估反爬虫机制
  2. 方案设计

    • 选择合适的技术栈
    • 设计数据提取策略
    • 规划错误处理和重试机制
  3. 脚本开发

    • 编写爬虫代码
    • 实现数据解析逻辑
    • 添加日志和监控
  4. 测试优化

    • 验证数据准确性
    • 优化性能和稳定性
    • 处理边界情况

最佳实践

  • 遵守 robots.txt 规则
  • 设置合理的请求间隔
  • 使用 User-Agent 和请求头
  • 实现错误重试机制
  • 数据去重和验证
  • 使用代理池(如需要)
  • 保存原始数据和日志

常见场景示例

1. 简单网页爬取

import requests
from bs4 import BeautifulSoup

def scrape_website(url):
    headers = {'User-Agent': 'Mozilla/5.0'}
    response = requests.get(url, headers=headers)
    soup = BeautifulSoup(response.text, 'html.parser')

    # 提取数据
    data = []
    for item in soup.select('.product'):
        data.append({
            'title': item.select_one('.title').text,
            'price': item.select_one('.price').text
        })
    return data

2. API 调用

import requests

def call_api(endpoint, params=None):
    headers = {
        'Authorization': 'Bearer YOUR_TOKEN',
        'Content-Type': 'application/json'
    }
    response = requests.get(endpoint, headers=headers, params=params)
    return response.json()

3. 动态网页爬取

from selenium import webdriver
from selenium.webdriver.common.by import By

def scrape_dynamic_page(url):
    driver = webdriver.Chrome()
    driver.get(url)

    # 等待页面加载
    driver.implicitly_wait(10)

    # 提取数据
    elements = driver.find_elements(By.CLASS_NAME, 'item')
    data = [elem.text for elem in elements]

    driver.quit()
    return data

反爬虫应对策略

  • 请求头伪装:模拟真实浏览器
  • 代理轮换:使用代理池
  • 验证码处理:OCR 或第三方服务
  • Cookie 管理:维护会话状态
  • 请求频率控制:避免触发限制
  • JavaScript 渲染:使用 Selenium/Playwright

数据存储方案

  • CSV/Excel:简单数据导出
  • JSON:结构化数据存储
  • 数据库:MySQL、PostgreSQL、MongoDB
  • 云存储:S3、OSS
  • 数据仓库:用于大规模数据分析