Google マップ リード生成
目標
Google マップから高品質なB2Bリードを生成し、WebサイトをスクレイピングしてClaudeで構造化された連絡先データを抽出することで、詳細な連絡先エンリッチメントを実現します。
入力
| パラメータ | 必須 | 説明 |
|---|---|---|
--search | はい | 検索クエリ(例:「東京都渋谷区 の配管工」) |
--limit | いいえ | 最大結果数(デフォルト:10) |
--sheet-url | いいえ | 追加先の既存スプレッドシートURL |
--workers | いいえ | 並列ワーカー数(デフォルト:3) |
スクリプト
./scripts/gmaps_lead_pipeline.py- メインオーケストレーション./scripts/gmaps_parallel_pipeline.py- 並列バージョン./scripts/scrape_google_maps.py- Google マップスクレイパー./scripts/extract_website_contacts.py- Webサイト連絡先抽出./scripts/update_sheet.py- Googleスプレッドシート同期
処理手順
基本的な使い方
# 10件のリードで新しいスプレッドシートを作成
python3 ./scripts/gmaps_lead_pipeline.py --search "東京都渋谷区 の配管工" --limit 10
# 既存のスプレッドシートに追加(データベース構築に推奨)
python3 ./scripts/gmaps_lead_pipeline.py --search "大阪市 の歯医者" --limit 25 \
--sheet-url "https://docs.google.com/spreadsheets/d/..."
# 大量のデータを処理
python3 ./scripts/gmaps_lead_pipeline.py --search "名古屋市 の屋根修理業者" \
--limit 50 --workers 5
パイプラインのステップ
- Google マップスクレイピング - Apify
compass/crawler-google-placesがリストを返す - Webサイトスクレイピング - メインページ + 最大5ページの問い合わせページを取得
- Web検索エンリッチメント - DuckDuckGo検索で経営者の連絡先情報を探す
- Claude抽出 - Claude 3.5 Haiku が構造化された連絡先を抽出
- Googleスプレッドシート同期 - 新しいリードを追加し、lead_idで重複排除
出力スキーマ(36フィールド)
ビジネス基本情報: business_name, category, address, city, state, zip_code, phone, website, rating, review_count
抽出された連絡先: emails, additional_phones, business_hours
ソーシャルメディア: facebook, twitter, linkedin, instagram, youtube, tiktok
経営者情報: owner_name, owner_title, owner_email, owner_phone, owner_linkedin
チーム連絡先: チームメンバーのJSON配列
メタデータ: lead_id, scraped_at, search_query, pages_scraped, enrichment_status
コスト
| コンポーネント | 1リードあたり |
|---|---|
| Apify Google Maps | 約$0.01-0.02 |
| Claude Haiku | 約$0.002 |
| DuckDuckGo/HTTP | 無料 |
| 合計 | 約$0.012-0.022 |
100リードの場合:合計約$1.50-2.50
トラブルシューティング
- 「ビジネスが見つかりません」:クエリに場所を含めてください
- 403 Forbidden:約10-15%のサイトがスクレイパーをブロックします(正常に処理されます)
- 認証問題:
token.jsonを削除して再認証してください - 重複:lead_id(名前|住所のMD5)を使用して重複排除します
環境設定
APIFY_API_TOKEN=your_token
ANTHROPIC_API_KEY=your_key
スキーマ
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
search | string | はい | 検索クエリ(例:「東京都渋谷区 の配管工」) |
limit | integer | いいえ | 最大結果数(デフォルト:10) |
sheet_url | string | いいえ | 追加先の既存スプレッドシートURL |
workers | integer | いいえ | 並列ワーカー数(デフォルト:3) |
出力
| 名前 | 型 | 説明 |
|---|---|---|
sheet_url | string | 36フィールドのリードデータを含むGoogleスプレッドシートのURL |
lead_count | integer | スクレイピングされたリード数 |
認証情報
| 名前 | ソース |
|---|---|
APIFY_API_TOKEN | .env |
ANTHROPIC_API_KEY | .env |
組み合わせ可能なスキル
このスキルと連鎖して使用できるスキル:classify-leads, casualize-names, instantly-campaigns, onboarding-kickoff
コスト
1リードあたり$0.012-0.022