Webスクレイピング代行サービスで月10万円 — Playwrightで自動化
Webスクレイピング代行サービスで月10万円 — Playwrightで自動化
企業にとってデータは意思決定の生命線だ。しかし多くの企業は「必要なデータがWebに散在しているのに、手動で集める時間もスキルもない」という課題を抱えている。ここにフリーランスのビジネスチャンスがある。Playwrightを使ったWebスクレイピング代行サービスは、初期投資ほぼゼロで月10万円以上の安定収入を生み出せるサービスモデルだ。
なぜ今、スクレイピング代行が求められるのか
2025年以降、企業のデータ活用は加速する一方で、データ収集の現場は人手不足が深刻化している。クラウドソーシングサイトでは「競合の価格を毎日チェックしたい」「不動産情報を定期的に収集したい」といった案件が常時掲載されており、供給が追いついていない。
特に需要が高い領域は以下の通りだ。
- 競合サイトの価格調査: EC事業者が自社と競合の価格差をリアルタイムで把握したいケース。1案件あたり20,000〜50,000円
- ECサイトの商品データ収集: 新規参入企業がマーケットの商品ラインナップを一括把握したいケース。10,000〜30,000円
- SNSフォロワー・投稿分析: マーケティング部門がインフルエンサーの影響力を数値化したいケース。15,000〜40,000円
- 求人情報の一括収集: 人材業界が複数サイトから求人データを統合したいケース。20,000〜60,000円
- 不動産物件情報の定期収集: 投資家や不動産業者が新着物件を即座にキャッチしたいケース。30,000〜80,000円
Playwrightを選ぶ理由と基本セットアップ
スクレイピングツールは数多く存在するが、実務で最も信頼性が高いのがPlaywrightだ。JavaScriptで動的にレンダリングされるサイトにも対応でき、ヘッドレスブラウザとしての安定性も優れている。
インストールと初期設定
# プロジェクト初期化
mkdir scraping-service && cd scraping-service
npm init -y
npm install playwright
npx playwright install chromium
# TypeScriptを使う場合(推奨)
npm install -D typescript @types/node
npx tsc --init
基本的なスクレイピングスクリプト
import { chromium } from 'playwright';
async function scrapeProductPrices(url: string) {
const browser = await chromium.launch({ headless: true });
const context = await browser.newContext({
userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
});
const page = await context.newPage();
await page.goto(url, { waitUntil: 'networkidle' });
const products = await page.$$eval('.product-item', items =>
items.map(item => ({
name: item.querySelector('.product-name')?.textContent?.trim() || '',
price: item.querySelector('.product-price')?.textContent?.trim() || '',
url: item.querySelector('a')?.href || '',
timestamp: new Date().toISOString()
}))
);
await browser.close();
return products;
}
案件を受注するための実践ステップ
ステップ1: ポートフォリオの準備
クライアントが最も気にするのは「本当にデータを取れるのか」だ。架空のサンプルではなく、実際に動くデモを用意する。
公開可能なサイト(政府統計、Wikipedia、自社サイトなど)を対象にしたデモスクリプトを3つほど作り、GitHub上で公開する。出力データのCSVサンプルも添付しておくと説得力が増す。
ステップ2: クラウドソーシングでの提案テンプレート
【提案文テンプレート】
ご依頼内容を拝見しました。Playwrightを使ったスクレイピングを
専門としております。
■ 対応可能範囲
・動的サイト(JavaScript描画)対応
・ログイン後ページの取得
・定期実行(日次/週次)の自動化
・CSV/JSON/Googleスプレッドシート出力
■ 過去の実績
・ECサイト 商品データ3万件の自動収集(週次)
・不動産ポータル 新着物件の日次監視システム
・SNS投稿データの感情分析用収集
■ 納期
初回データ納品: 3-5営業日
定期収集の仕組み構築: 1-2週間
■ 料金
初回構築費: XX,XXX円
月額保守費: X,XXX円(定期実行の場合)
ステップ3: 定期案件への転換
スクレイピングの最大の収益源は「定期実行の保守契約」だ。1回きりの案件で終わらせず、月額保守に移行させることで安定収入を確保する。
// cron-job.ts - 日次自動実行のスケジュール設定例
import cron from 'node-cron';
import { scrapeAndNotify } from './scraper';
// 毎日午前9時に実行
cron.schedule('0 9 * * *', async () => {
console.log(`[${new Date().toISOString()}] 定期スクレイピング開始`);
const results = await scrapeAndNotify({
url: 'https://example.com/products',
outputPath: './data/daily/',
notifyEmail: 'client@example.com'
});
console.log(`取得件数: ${results.length}`);
});
料金設計と収益シミュレーション
フリーランスのスクレイピング代行で重要なのは、適切な価格設定だ。安すぎると消耗し、高すぎると受注できない。
| サービス内容 | 初回構築費 | 月額保守費 | 想定作業時間 |
|---|---|---|---|
| 単一サイト・単純構造 | 15,000〜30,000円 | 5,000円 | 2〜4時間 |
| 単一サイト・動的構造 | 30,000〜60,000円 | 10,000円 | 4〜8時間 |
| 複数サイト統合収集 | 50,000〜100,000円 | 20,000円 | 1〜2日 |
| ダッシュボード付き | 100,000〜200,000円 | 30,000円 | 3〜5日 |
月10万円の達成モデル例:
- 定期保守クライアント3社 × 月額20,000円 = 60,000円
- 単発案件2件 × 20,000円 = 40,000円
- 合計: 100,000円/月
保守クライアントが5社に増えれば、単発案件なしでも月10万円を超える。スクレイピングは一度仕組みを作れば保守工数が少ないため、クライアント数に比例して利益率が向上する。
法的リスクと対策を理解する
スクレイピングはグレーゾーンと言われることもあるが、適切な知識があればリスクを最小化できる。
守るべき原則
- robots.txtを確認する: 対象サイトのrobots.txtでスクレイピングが禁止されていないか確認
- 利用規約を読む: サイトの利用規約でデータ収集が明示的に禁止されていないか確認
- サーバーに負荷をかけない: リクエスト間隔を最低1秒以上空ける
- 個人情報は収集しない: 個人を特定できる情報の収集は避ける
- 著作権のあるコンテンツを丸ごとコピーしない: データの構造化が目的であり、コンテンツの複製が目的ではないことを明確にする
// サーバー負荷を避けるための待機処理
async function politeDelay(ms: number = 2000) {
return new Promise(resolve => setTimeout(resolve, ms));
}
// 使用例
for (const url of urlList) {
const data = await scrapePage(url);
results.push(data);
await politeDelay(2000); // 2秒間隔でリクエスト
}
AI活用でスクレイピングを次のレベルへ
Playwrightだけでも十分なサービスは提供できるが、AIを組み合わせることで差別化が可能になる。
Claude APIを使ったデータクレンジング
スクレイピングで取得した生データは、表記ゆれや不完全なデータが多い。Claude APIで自動的にクレンジングすることで、納品データの品質を大幅に向上させられる。
import Anthropic from '@anthropic-ai/sdk';
async function cleanData(rawData: string[]): Promise<string[]> {
const client = new Anthropic();
const response = await client.messages.create({
model: 'claude-sonnet-4-20250514',
max_tokens: 1024,
messages: [{
role: 'user',
content: `以下のデータを正規化してください。
表記ゆれを統一し、不完全なデータにはフラグを付けてください。
JSON配列で返してください。
データ: ${JSON.stringify(rawData)}`
}]
});
return JSON.parse(response.content[0].text);
}
このように、スクレイピング技術とAIを組み合わせた「データ収集+クレンジング+分析」のワンストップサービスとして提案すれば、単純なスクレイピング代行の2〜3倍の単価設定も可能だ。
まとめ:月10万円への最短ルート
Webスクレイピング代行は、プログラミングスキルを直接収益化できる最もシンプルなビジネスモデルの一つだ。Playwrightの基本を身につけ、ポートフォリオを用意し、クラウドソーシングで実績を積むところから始めよう。初月は単発案件で経験を積み、2〜3ヶ月目から定期保守契約への転換を意識することで、安定した月10万円が見えてくる。
関連記事
Agentive 編集部
AIエージェントを実際に使い倒す個人開発者。サイト制作の自動化を実践しながら、その知見を発信しています。