ウェブデータ採集
スクレイピング勉強不要——AI に欲しいデータを言う、あとはお任せ
データを採集したいだけなのに、なぜこんなに難しい
スクリプト書き方知らない、反スクレイピング対策がうざい、データが乱雑
ただウェブページのデータを整理したいだけなのに、検索したら:requests、BeautifulSoup、XPath、CSS セレクタ……用語だけで半分の人は諦める。
やっと教科書通りに動かしても、翌日サイトが Cloudflare 検証をつけた、IP がブロックされた、検証コード出た、直撃。
データを採集できたとしても、形式がめちゃくちゃ——何個かフィールドに HTML タグがあり、価格に通貨記号がくっついてて、日付フォーマットが 3-4 種混ざってて。データクリーニングに費やす時間が採集より長い、ほんと参った。
OpenClaw:欲しいデータを言うと、スクリプトを書いて採集
スクレイピング技術を学ぶ必要ない、OpenClaw に「この画面のデータ採集したい、どのフィールド要る」と言うだけ、自動でページ構造を分析して、完全なスクレイピングスクリプトを生成。
反スクレイピング対策?ランダムディレイ、User-Agent ローテーション、動的ロード対応を知ってる。翻ページ?ページ数を言ったら、翻ページロジックを自動で処理。
採集したデータはクリーンな構造化形式:CSV、JSON、Excel なんでも選べる。サイトがリニューアルされても大丈夫、もう一度実行すれば、新しいページ構造に適応。
採集 Prompt 3 本、そのまま使える
初級から上級まで、最もよくあるシーンをカバー。
豆瓣 Top250 映画データ採集
ゴールデンコマンド
豆瓣 Top 250 映画データを採集してほしい:
URL: https://movie.douban.com/top250
採集フィールド:
- 映画タイトル(日本語名+英語名)
- 豆瓣スコア
- 評価数
- 監督
- 公開年
- ワンセンテンス短評
要件:
1. 自動翻ページ、全 250 部を採集
2. リクエスト間隔 2-3 秒、スピード禁止
3. 評価数は数字だけ、「人評価」みたいなテキスト削除
4. CSV で保存、スコア高から低で並び替え
豆瓣はスクレイピング練習の古典、ページ構造が安定、反スクレイピング厳しくない。頻度を管理してね、サーバーに迷惑かけないように。
競争製品価格の定期監視
上級テク
ライバル価格監視スクリプトを書いてほしい:
監視対象(5 つのライバルの価格ページ):
- [ライバル A 価格ページ URL]
- [ライバル B 価格ページ URL]
- [ライバル C 価格ページ URL]
- [ライバル D 価格ページ URL]
- [ライバル E 価格ページ URL]
機能要件:
1. 毎日朝 9 時に自動採集
2. 昨日の価格と対比、変動があれば赤で表示
3. ローカル SQLite に保存、後で検索できるように
4. 毎週、価格変動トレンドグラフを生成(matplotlib)
5. 価格変動 5% 超えたら、アラートログを出力
schedule で定時、requests + BeautifulSoup で採集。
例外処理:ネットタイムアウトやページ変更でもクラッシュしない。
営業部がライバルの動きを長期追跡するのに最適。スクリプトができたらサーバーに crontab で実行。ライバルが多けりゃ AI に並列処理を足させれば、採集スピードが倍々。
ウェブページ表をワンクリック抽出
ビギナー向け
このウェブページの表データを抽出してほしい:
URL: [ウェブページリンクを貼る]
要件:
1. ページ内の全ての表を自動認識
2. 表データを Excel フォーマットに整理
3. 各表は別シート、シート名は表タイトル
4. ヘッダー保持、データ形式自動認識(数字、日付、パーセント)
5. ~/data/extracted_tables.xlsx で保存
最もシンプルな採集タスク、レポートのデータをサッと抓う、統計ページの表をコピー。ほとんどの表は pandas の read_html で搞定、1 行のコード。
データ採集:OpenClaw vs 八爪鱼/火车头
ビジュアル採集ツールは初心者向けだけど、天井が低い。
OpenClaw
- 中国語で要件を言う、AI がスクレイピングコードを自動生成
- コード完全透明、ロジックを改めたいいつでも改造
- JS 動的レンダリング、ログイン認証、様々な反スクレイピング対策に対応
- データクリーニングと採集を一度に、二重処理いらない
- スクリプトをサーバーに直展開して定期タスク実行、追加コスト無し
VS
八爪鱼 / 火车头
- ビジュアルクリック操作、ほんと上手く上手い
- けど複雑なページにぶつかると設定がしばしば失敗
- JS レンダリング画面は大体ダメ
- データクリーニング機能に限界、出力後にまた加工
- 定期タスクは有料版じゃなきゃ、年数千円の課金
スクレイピング安全設定
スクレイピングの前に、こういった安全設定を準備しておくこと。
スクレイピング安全設定(.openclaw.yml)
# スクレイピングプロジェクト推奨設定
sandbox:
network: true # ネットアクセス許可
timeout: 300 # 採集に数分掛かるかも
allowed_paths:
- ~/data/ # データ保存ディレクトリ
scraping:
respect_robots_txt: true # robots.txt ルール遵守
request_delay: 2 # リクエスト間隔(秒)、速度禁止
max_retries: 3 # 失敗再試行回数
user_agent_rotate: true # User-Agent 自動ローテーション
timeout_per_request: 30 # リクエストタイムアウト(秒)
python:
packages:
- requests
- beautifulsoup4
- selenium # JS レンダリング必要なページ
- pandas # データ整理とエクスポート
コンプライアンス注意
データ採集は必ず法律と利用規約を守ること。
1. まず対象サイトの robots.txt を確認、採集禁止パスにはアクセス禁止。
2. 採集頻度を管理、サーバーに重荷をかけるな。
3. 個人プライバシーデータ(電話番号、メール)は要注意、合法的な用途確認。
4. 採集データを商用に使う前に、法務相談。
1. まず対象サイトの robots.txt を確認、採集禁止パスにはアクセス禁止。
2. 採集頻度を管理、サーバーに重荷をかけるな。
3. 個人プライバシーデータ(電話番号、メール)は要注意、合法的な用途確認。
4. 採集データを商用に使う前に、法務相談。
データ少ない(数百件以下)なら OpenClaw がサンドボックスで実行完結。データ大量、長時間実行が必要なら、スクリプト生成、自分でサーバーに展開。