Craigslistは2003年からほとんど見た目が変わっていないように見えますが、あのシンプルなテキスト中心の投稿の中には、意外と価値の高いデータが眠っています。月間 約1億2,700万回の訪問 があり、さらに 毎月数千万件もの新規投稿 が追加されるため、今でも米国最大級のクラシファイド広告プラットフォームのひとつです。しかも、利用できる公開APIはありません。
私は Thunderbit で長年、自動化ツールを作ってきました。その中で営業、オペレーション、不動産チームから何度も聞くのが、「Craigslistのデータをスプレッドシートに入れたい。でも3時間もコピペしたくない」という声です。問題は、いわゆる「おすすめCraigslistスクレイパー」系のガイドの多くが、情報が古いか、アンチボット対策のような厄介な部分を飛ばしているか、あるいはツールを並べているだけで実際には比較していないことです。
そこで本記事では、2026年になっても本当に使える10のツールを厳選しました。ノーコードのChrome拡張から、企業向けのプロキシ基盤、オープンソースのPythonライブラリまで網羅しています。コードを書いたことがないビジネスユーザーでも、Pythonで考えるような開発者でも、きっと役立つはずです。
なぜ2026年にCraigslistをスクレイピングするのか?ビジネスチーム向けの主な活用例
Craigslistは古臭く見えるかもしれませんが、それこそが魅力であり、価値でもあります。今でも クラシファイド系サイトの世界ランキングで3位 に入り、公式ディレクトリでは 米国と準州あわせて416のエリア で展開されています。つまり、他では一箇所にまとまって存在しない、非常にローカル色の強い在庫情報が大量にあるということです。
チームが何度も必要とする用途は、主に次のようなものです。
- リード獲得: サービスやギグの投稿には、事業説明、地域、Craigslistの返信導線が含まれることが多く、営業チームが地域別の見込み客リストを作るのに十分です。
- 不動産モニタリング: 住宅ページでは、家賃、エリア、ベッド/バス、面積、投稿日時を確認できるため、賃料比較や空室状況の追跡に最適です。
- 競合価格調査: 売買掲載には、タイトル、価格、状態、所在地が載っており、リセールや裁定取引の調査にとって非常に有用です。
- 採用・労働市場の把握: JobsやGigsカテゴリでは、報酬、雇用形態、職務内容が見られるため、ローカルな人材市場のスキャンに役立ちます。
- 複数地域の市場分析: Craigslistはサブドメインと都市ごとに分かれているため、地域別に価格、件数、カテゴリ構成を比較できます。
- ワークフロー自動化: 多くのユーザーは、CraigslistのデータをCSV、Google Sheets、Airtable、CRMへ手作業なしで流し込みたいだけです。
あるユーザーは、以前は毎日60〜90分かかっていたCraigslistのスクレイピングが、自動化で約5分まで短縮されたと報告しています。こうした時間削減は、積み重なると非常に大きいです。
AIでCraigslistデータをスクレイピング Thunderbitのエージェント型Webスクレイパーは、Craigslistの一覧ページを自動で読み取り、価格、説明文、連絡先情報をワンクリックで抽出します。 Get Started Free
最適なCraigslistスクレイパーの選び方:評価基準
Craigslistスクレイパーはどれも同じではありません。「最適」なツールは、使う人と目的によって大きく変わります。そこで私は各ツールを次の6項目で評価しました。
- 導入のしやすさ — 初心者向け(ノーコード)か、開発者が必要か。
- Craigslistのアンチボット対策への対応 — プロキシローテーション、CAPTCHA対応、ブラウザフィンガープリント対策があるか。
- 価格帯 — 無料、フリーミアム、有料、エンタープライズか。
- 出力形式 — CSV、Excel、Google Sheets、Airtable、Notion、JSON、データベースなどに出せるか。
- 複数地域への対応 — 米国の416サイトすべてを横断してスクレイピングできるか、それとも1都市ずつなのか。
- 保守の手間 — Craigslistのページ構成が変わると壊れるのか、自動で追従するのか。
他の競合記事では、ここまで統一した基準で横並び比較しているものは見当たりませんでした。あいまいな「トップ10」リストにうんざりしていたなら、まさにこの記事がその答えです。
ひと目でわかるCraigslistスクレイパーおすすめ10選
各ツールの詳細に入る前に、まずは全体比較表をご覧ください。ビジネスユーザー向けのノーコードツール、規模対応の企業向けプラットフォーム、開発者向けのオープンソースライブラリの3つに分けています。
| ツール | タイプ | 無料プラン | プロキシ / アンチボット対応 | CAPTCHA対応 | 出力形式 | おすすめ用途 |
|---|---|---|---|---|---|---|
| Thunderbit | ノーコードChrome拡張 | あり(6ページ/月) | ブラウザモード(中規模ならプロキシ不要) | 該当なし(ブラウザセッション) | Excel、Sheets、Airtable、Notion、CSV、JSON | 非技術系のビジネスユーザー |
| Bright Data | 企業向けスクレイパー + プロキシ + データセット | トライアル | 管理型アンブロッキング、プロキシ、再試行、レンダリング | あり(自動解決) | JSON、NDJSON、CSV、Parquet、XLSX、API | 大規模収集 |
| Oxylabs | API + プロキシスタック | トライアル | 管理型アンブロッキング、住宅/ISPプロキシ | あり | HTML、スクリーンショット、API出力 | 企業向け基盤を求める開発者 |
| Apify | クラウドActorマーケットプレイス | あり($5/月分のクレジット) | Actor依存のプロキシローテーション | 一部 / Actor依存 | JSON、CSV、XML、Excel、JSONL | 柔軟な低コード自動化 |
| ParseHub | ノーコードのビジュアルスクレイパー | あり | 有料のプロキシローテーション、クラウド実行 | 主要機能ではない | CSV、JSON、API/S3/Dropbox(有料) | 低予算のノーコード利用者 |
| Phantombuster | クラウド自動化プラットフォーム | あり(制限付き) | プロキシ対応あり | クレジット / ワークフロー方式 | CSV、JSON(有料) | マルチプラットフォーム営業自動化 |
| Scrapy | オープンソースのPythonクローラー | 無料(OSS) | 自前のプロキシ / ミドルウェアを用意 | なし | JSON、JSONL、CSV、XML、DB | 本番運用のクローラー |
| Playwright | オープンソースのブラウザ自動化 | 無料(OSS) | 自前のブラウザ / プロキシを用意 | なし | カスタム出力 | ブラウザレベルの制御 |
| Selenium | オープンソースのブラウザ自動化 | 無料(OSS) | 自前のブラウザ / プロキシを用意 | なし | カスタム出力 | レガシーな多言語スタック |
| BeautifulSoup | オープンソースのHTMLパーサー | 無料(OSS) | それ自体ではなし | なし | カスタム出力 | 軽量パース |
ここでは、3つの方向性がはっきり見えます。
- ノーコードツール(Thunderbit、ParseHub、Phantombuster)は、エンジニアリングの負担なしでデータを欲しいビジネスユーザー向け。
- 企業向けプラットフォーム(Bright Data、Oxylabs、Apify)は、スケール、アンチボット基盤、管理された配信が必要なチーム向け。
- オープンソースの開発者向けツール(Scrapy、Playwright、Selenium、BeautifulSoup)は、最大限の自由度がある代わりに、導入・保守・プロキシ管理の手間がかかります。
では、詳しく見ていきましょう。
1. Thunderbit
Thunderbit は、コードやプロキシ設定なしで、Craigslistを含むあらゆるWebサイトから構造化データを取得したい人向けに作られた、AI搭載のChrome拡張です。
少し贔屓目が入るのは認めますが(私たちが作っています)、Thunderbitを最初に紹介する理由は、Craigslistスクレイピングが非技術系ユーザーにもたらす具体的な悩み、つまりカテゴリごとに変わるページ構成、詳細ページの情報補完、CSSセレクター変更で頻繁に壊れる問題を解決してくれるからです。
Craigslistでの使い方:
- Thunderbit Chrome拡張 をインストールし、Craigslistの一覧ページを開きます(たとえば自分の都市のアパート一覧)。
- 「One Click Extract」 をクリックします。ThunderbitのAIがページを読み取り、構造を把握し、適切な列を判断して、一度でテーブルにデータを抽出します。住宅なら Title、Price、Sqft、Bedrooms、Location、Date Posted、Link が取れます。求人なら Title、Compensation、Job Type などが入ります。手動でセレクターを設定する必要はありません。
- ページ送りに対応します。ThunderbitはCraigslistのクリック型ページネーションに対応しています。
- 「Scrape Subpages」 を使って各掲載ページを巡回し、詳細ページのみの項目を抽出します。たとえば、全文の説明、画像、埋め込みの連絡先情報などです。
- Google Sheets、Excel、Airtable、Notion、CSVに無料で エクスポートできます。
主な機能:
- AIによる項目検出: Craigslistのカテゴリ差に自動対応。住宅なら面積や寝室数、求人なら報酬や職種、売買なら状態や価格を自動で列化します。CSSの手作業は不要です。
- サブページスクレイピング: 検索結果ページを取ったあと、各掲載ページを開いて詳細情報(全文説明、画像、連絡先など)を補完できます。
- ブラウザベースのスクレイピングモード: 自分のChromeセッション内で動くため、中程度の件数ならプロキシ不要です。コストと複雑さを大きく下げられます。
- 保守不要: AIが毎回ページを読み直すため、Craigslistのレイアウトが変わっても壊れにくいです。
- 無料エクスポート: Excel、Google Sheets、Airtable、Notion、CSV、JSONへ出力可能。エクスポートに課金壁はありません。
料金: 無料プラン(6ページ/月)、無料トライアル(10ページ)、より多く使う場合は有料プラン。
おすすめ: Craigslistのサービス/ギグ投稿からリードを集めたい営業チーム、賃貸価格を追いたい不動産チーム、開発者なしでCraigslistデータを扱いたいオペレーションチーム、そしてデータ収集・ラベル付け・出力を一気通貫で済ませたい人。
CraigslistスクレイピングをThunderbitで試す 無料プランは月6ページまで。まずは有料化する前にCraigslistスクレイピングを試せます。 Get Started Free
2. Bright Data
Bright Data は、企業向けの本命です。この一覧の中で、専用の Craigslist Scraper ページと Craigslist Dataset の両方を持つ唯一のプラットフォームです。
もし米国全地域にわたって毎日何千件ものCraigslist掲載情報をスクレイピングしたいなら、Bright Dataはその規模を前提に設計されています。 Web Unlocker は、IP、再試行、レンダリング、ブロックを処理し、CAPTCHAもデフォルトで自動解決 します。Web Scraper IDEを使えばCraigslist向けの収集ワークフローを自由に作成でき、416の地域URLをプログラムで順番に回すことも可能です。
主な機能:
- 大規模な住宅系プロキシネットワーク(数百万IP)
- CAPTCHA解決とアンチボット回避を内蔵
- Craigslist専用のスクレイパーとデータセット製品
- 出力: JSON、NDJSON、CSV、Parquet、XLSX、API配信、Webhook
料金: Craigslistスクレイパーは 1,000ページ読み込みあたり$0.5 の従量課金で、たとえば38万ページで$499のようなプランもあります。住宅プロキシは 1GBあたり$4 からの従量課金です。1週間の1,000リクエスト無料トライアルがあります。
おすすめ: 高頻度・多地域のCraigslist収集を、稼働保証と専任サポートつきで行いたい企業チーム。予算を気にする小規模チームには向きません。
3. Oxylabs
Oxylabs は、プレミアムなプロキシ/スクレイピング基盤の提供企業で、専用の Craigslist Scraper API と Craigslist proxies page を用意しています。
Oxylabsは、Bright Dataのオールインワン型よりも開発者寄りです。Web Scraper API と Web Unblocker は、JSレンダリング、再試行、セッション管理、フィンガープリント生成、より広範なアンチボット対策に対応しています。Craigslist Scraper API の無料トライアルでは、最大 2,000件の結果 まで試せます。
主な機能:
- 住宅系およびISPプロキシプール(住宅系は 1GBあたり$6 から、ISPは 1IPあたり$0.60 から)
- 自動フィンガープリントとセッション管理を備えたWeb Unblocker
- Craigslist専用APIエンドポイント
- 7日間の無料トライアルあり
料金: 「その他サイト」向けのスクレイパーAPIは、JSなしで1,000件あたり約$0.15、JSありで1,000件あたり約$0.35 から。Web Unblockerのマイクロプランは 月額約$75 からです。大規模利用時の住宅プロキシは、1TBで$0.50/GB程度まで下がることがあります。
おすすめ: 管理されたプロキシ基盤とAPIベースのワークフローで、Craigslistの継続的なスクレイピングをしたい開発チーム。すでに他案件でOxylabsプロキシを使っているなら、Craigslistの追加は簡単です。
4. Apify
Apify は、クラウドベースのWebスクレイピング/自動化プラットフォームで、コードを書かずに使える事前構築済みの「Actor」マーケットプレイスがあります。
Apify上のCraigslist関連はかなり面白く、コミュニティ管理のCraigslist Actorが複数存在しますが、品質にはかなりばらつきがあります。ivanvs/craigslist-scraper は総ユーザー数829、評価5.0なのに対し、automation-lab/craigslist-scraper はユーザー44で評価1.0です。品質差が大きいので、導入前のテストは必須です。
主な機能:
- 複数のCraigslist Actorが利用可能(一部は 1ページあたり約120件 を、内蔵ディレイ付きで抽出)
- クラウド実行、定期実行、APIアクセス、Webhook連携
- プロキシローテーション 対応
- 出力: JSON、CSV、XML、Excel、JSONL
料金: 月額$5分のクレジット付き無料プラン、有料プランは月額約$49から。大量利用ではコンピュート単価が跳ねることがあるので、CU消費量には注意が必要です。
おすすめ: インフラ管理なしのクラウド型を求めるチーム、低コード設定に抵抗がないユーザー、定期的にCraigslistをクロールしたいチーム。
5. ParseHub
ParseHub は、デスクトップ型のビジュアルWebスクレイピングツールで、ページ要素をクリックして抽出対象を定義します。
CraigslistをParseHubで設定する場合は、タイトル、価格、リンクをクリックして、何を取るかを教えます。AJAXベースのページ送りループにも対応し、有料プランではクラウド実行も可能です。無料プランでは最大5プロジェクトまで使えるので、小規模なCraigslist作業には十分です。
主な機能:
- クリック操作で作るビジュアルワークフロー
- ページ送りや動的コンテンツへの対応
- 有料プランでクラウド実行とスケジュール実行
- 出力: CSV、Excel、JSON
料金: 無料プラン(5プロジェクト)、より多くのページや定期実行が必要なら月額約$189から。
制限: 大規模スクレイピングでは遅くなりがちで、無料プランの定期実行は制限が強めです。さらに重要なのは、CSSセレクター依存なので、Craigslistのレイアウトが変わるたびに手直しが必要な点です。
おすすめ: 中程度のスクレイピングを行いたい個人ユーザーや小規模チームで、AIベースの項目検出までは不要だが、ビジュアルなノーコードツールを使いたい人。
6. Phantombuster
Phantombuster は、もともとLinkedInやSNSスクレイピングで人気のあったクラウド自動化プラットフォームです。Craigslist専用ツールではありませんが、Web Element Extractorを使えばCSSセレクター経由で公開ページを抽出できます。
CraigslistをPhantombusterで設定するには、専用ツールより手間がかかります。セレクターの指定、ワークフロー構築、スケジュール設定が必要です。ただし、すでにLinkedInやSNSのリード獲得でPhantombusterを使っているなら、Craigslistをパイプラインに加えるのは簡単です。
主な機能:
- 事前構築済みの自動化テンプレートとクラウド実行
- スケジューリングとCRM連携
- プロキシ対応とCAPTCHA解決クレジットあり
- 出力: 有料プランではCSV、JSON(無料プランは10行まで)
料金: 無料プランは5スロット、月2時間、10行までの出力制限があります。有料の年間プランは年払いで月額約$56からです。
おすすめ: 複数チャネルのリード獲得でPhantombusterをすでに使っていて、Craigslistも同じワークフローに足したい営業チーム。
7. Scrapy
Scrapy は、最も人気のあるオープンソースのPython Webスクレイピングフレームワークで、Craigslistのクロールを最大限コントロールしたい開発チームにとって、もっとも自然な選択肢です。
最新の安定版は 2.15.0(2026年4月9日) です。Scrapyは、複数地域のクロール(地域URLを順番に回す)、リクエストのスケジューリングとスロットリング、プロキシローテーション用の downloader middleware、CSV、JSON、JSONL、XML、データベースパイプラインへの feed exports をサポートしています。必要に応じて scrapy-playwright プラグインを使えば、ブラウザレベルのレンダリングも追加できます。
主な機能:
- 高度にカスタマイズ可能な本番向けクローラー
- プロキシ、再試行、Cookie、User-Agentローテーション用のミドルウェア
- フィード出力: JSON、JSONL、CSV、XML、データベースパイプライン
- 無料かつオープンソース
見えにくいコスト: Scrapy自体は無料ですが、Craigslistで大規模運用するには、プロキシ費用($50〜500+/月)、ホスティング/サーバー費用、そしてCraigslistのHTML構造変更に追従するための継続的な保守が必要です。
おすすめ: Python経験のある開発チームで、柔軟性を最大化したい、既存のプロキシ基盤がある、大規模な多地域Craigslistクロールをしたい場合。
8. Playwright
Playwright は、Microsoft製の最新ブラウザ自動化ライブラリで、Chromium、Firefox、WebKitをプログラムで操作できます。リリースも活発で、v1.59.1は2026年4月1日に公開 されています。
2026年時点では、CraigslistスクレイピングにおいてSeleniumよりPlaywrightを推す声が開発者コミュニティで増えています。高速で、信頼性が高く、playwright-extra のようなコミュニティプラグインを使うと検知回避も強化できます。ヘッドレス/ヘッドあり両対応、要素の自動待機、ネットワークインターセプト、スクリーンショットやPDF取得も可能です。
主な機能:
- Python、JavaScript/TypeScript、Java、.NET に対応
- ヘッドレス/ヘッドありブラウザモード
- 要素の自動待機、ネットワークインターセプト
- 無料かつオープンソース
Craigslistでの強み: Playwrightは、単純なHTTPリクエストよりも本物のユーザー行動を自然に再現できるため、ブロックされにくいです。Redditでも新規案件ではSeleniumよりPlaywrightを推す声が一貫して多いです。
隠れコスト: Scrapyと同様に、プロキシ費用、ホスティング、セレクター変更時の保守が必要です。
おすすめ: 細かいブラウザ制御が必要な開発者、JavaScriptレンダリングされたコンテンツを扱うスクレイパーを作りたいチーム、そしてSeleniumのモダンな代替を探している人。
9. Selenium
Selenium は、長年使われてきた定番のブラウザ自動化フレームワークです。最新リリースは 4.43.0(2026年4月10日) で、BiDiとネットワーク制御機能 の拡張も続いています。
Seleniumは複数言語(Python、Java、C#、JavaScript)と主要ブラウザをサポートしています。完全なブラウザセッションを再現でき、必要ならログインにも対応し、ページスクロールも可能です。ただしPlaywrightと比べると、遅く、冗長で、undetected-chromedriver のような追加のステルスライブラリなしではボットとして検知されやすい傾向があります。
主な機能:
- 多言語対応(Python、Java、C#、JavaScript)
- フルブラウザセッションの再現
- 豊富なドキュメントを備えた成熟したエコシステム
- 無料かつオープンソース
制限: 2026年のコミュニティでは、新規開発ではPlaywrightが優勢です。あるRedditスレッドでは、Cloudflareが「住宅プロキシを使っていても」Seleniumを検知していたと指摘されており、標準状態でのステルス性は高くありません。
おすすめ: すでにSeleniumに投資していて移行したくない開発チーム、マルチ言語対応(Java、C#)が必要なプロジェクト、レガシーなスクレイピング環境。
10. BeautifulSoup
BeautifulSoup は、HTMLやXMLを解析するための軽量なPythonライブラリです。現在のPyPI版は 4.14.3(2025年11月30日) です。
大事な点として、BeautifulSoupはパーサーであって、完全なスクレイパーではありません。Webページを取得したり、ブラウザ自動化を行ったりはしません。HTTP取得には requests と組み合わせ、渡されたHTMLを解析するだけです。そのため開発者の入り口としては最もシンプルですが、機能は最も限定的です。
主な機能:
- とても学びやすく、最小限のコードで使える
- 小規模または一度きりのCraigslistスクレイピングに向いている
- 無料かつオープンソース
制限: ページ送り、JavaScriptレンダリング、プロキシローテーションはすべて自前で実装する必要があります。CraigslistのHTML構造が変わればセレクターは壊れ、手作業で直すことになります。
おすすめ: 最小構成でCraigslistスクレイピングを試したいPython初心者、1カテゴリまたは1地域からの短時間のデータ取得をしたい人、軽量なパーサーだけ欲しい開発者。
CraigslistのBAN回避対策:プロキシ、レート制限、ブロックされる原因
ここは多くのCraigslistスクレイピング記事が省きがちな、しかし最も重要なセクションです。Scraperlyの2026年4月のテスト では、CraigslistはカスタムCAPTCHA、レート制限、IPブロックがあるため、難易度 3/5 の対象とされています。Bright Dataのチュートリアル でも、単純なHTTPではなくWeb UnlockerやPlaywrightベースのScraping Browserを使う方向が案内されています。Oxylabsのプロキシページ でも、Craigslistはプロキシを検知でき、住宅プロキシが最適だと説明されています。
実際に有効なのは次の方法です。
| 戦略 | Craigslistでの有効性 | コスト | 難易度 |
|---|---|---|---|
| 住宅プロキシ | ✅ 高い | $$(1GBあたり$4〜6) | 中 |
| ISPプロキシ | ✅ 高い | $(1IPあたり$0.60〜0.80) | 中 |
| データセンタープロキシ | ⚠️ 低い(ブロックされやすい) | $(1IPあたり$0.20〜0.40) | 低 |
| ブラウザベースのスクレイピング(自分のセッション) | ✅ 中〜高 | 無料 | 低 |
| レート制限 + ランダム遅延 | ✅ 必須の基本対策 | 無料 | 低 |
実践的なコツ:
- リクエスト間隔: 最低でも2〜5秒は空けましょう。Scraperlyは、IPあたり1分間に5〜10リクエスト程度を維持し、20〜30リクエストごとにローテーションすることを推奨しています。
- セッションローテーション: User-Agentやブラウザフィンガープリントを回しましょう。予測しやすいクロールはすぐに検知されます。
- データセンタープロキシは避ける: 安くてもCraigslistではすぐブロックされます。
- 中規模ならブラウザベースのスクレイピングでプロキシ問題を丸ごと回避できます。 Thunderbitのブラウザモードは自分のChromeセッション内で動くため、プロキシ設定もIPローテーションも費用も不要です。数百件程度を扱う多くのビジネスユーザーには、これで十分です。
そして多くの人が見落とす保守面の話があります。CraigslistがCSSを変更すると(しかも時々起こります)、CSSセレクター依存のスクレイパーはすべて壊れます。ページを確認し、新しいセレクターを見つけ、コードを修正し、再テストしなければなりません。ThunderbitのようなAI搭載ツールはこの問題を回避できます。AIが毎回ページ構造を読み直すので、レイアウト変更でワークフローが壊れません。
コード vs ノーコード:Craigslistスクレイピング完全ガイド2通り
この記事の読者は、ざっくり半々に分かれると思っています。つまり、単にデータが欲しい非技術系のビジネスユーザーと、動くコードが欲しい初級〜中級の開発者です。そこで、両方のルートを並べて紹介します。
ノーコード:ThunderbitでCraigslistをスクレイピングする方法(ステップごと)
- Chrome Web Store から Thunderbit Chrome拡張をインストールします。
- Craigslistの一覧ページを開きます。たとえば、自分の都市のアパート一覧(
https://yourcity.craigslist.org/search/apa)です。 - 「One Click Extract」 をクリックします。ThunderbitのAIがページを読み取り、構造を把握し、そのカテゴリに合う列を判断して、構造化テーブルを作成します。住宅なら Title、Price、Sqft、Bedrooms、Location、Date Posted、Link が表示されます。必要ならあとから列を調整できます。
- ページ送りに対応します。クリックして進めるか、Thunderbitに任せます。
- 「Scrape Subpages」 を使って各掲載ページを巡回し、詳細ページの項目を補完します。全文説明、画像、埋め込み連絡先などです。
- Google Sheets、Excel、Airtable、Notion、CSVへ無料でエクスポートします。
この一連の作業は、検索結果1ページならおよそ2分で完了します。CSSセレクターも、プロキシも、コードも不要です。
コードでやる場合:Python + PlaywrightでCraigslistをスクレイピングする方法
2026年の開発者コミュニティでは、Craigslistスクレイピングに最も推奨されるライブラリはPlaywrightです。以下は、Craigslistの住宅一覧ページをスクレイピングし、タイトル・価格・リンクを取得し、ページ送りにも対応して結果を出力するPythonのサンプルです。
考え方は、まずJSON-LD構造化データを試し(Craigslistの一部ページには ItemList スキーマが埋め込まれています)、なければDOMセレクターにフォールバックします。ページ送りは s=120 で進めます。
import asyncio, json
from urllib.parse import urlparse, parse_qs, urlencode, urlunparse
from playwright.async_api import async_playwright
def next_page_url(url, step=120):
p = urlparse(url)
qs = parse_qs(p.query)
offset = int(qs.get("s", ["0"])[0]) + step
qs["s"] = [str(offset)]
return urlunparse((p.scheme, p.netloc, p.path, "", urlencode(qs, doseq=True), ""))
async def scrape_page(page, url):
await page.goto(url, wait_until="domcontentloaded")
await page.wait_for_timeout(1500)
data = []
# まずJSON-LDを試す
for raw in await page.locator('script[type="application/ld+json"]').all_text_contents():
try:
obj = json.loads(raw)
except Exception:
continue
if isinstance(obj, dict) and obj.get("@type") == "ItemList":
for item in obj.get("itemListElement", []):
thing = item.get("item", {})
data.append({
"title": thing.get("name"),
"price": thing.get("offers", {}).get("price"),
"link": thing.get("url"),
})
if data:
return data
# フォールバック: DOMセレクター
cards = page.locator("div.cl-search-result, li.cl-static-search-result")
count = await cards.count()
for i in range(count):
card = cards.nth(i)
title = await card.locator("a.posting-title, a.titlestring").first.text_content()
link = await card.locator("a.posting-title, a.titlestring").first.get_attribute("href")
price = (await card.locator(".price, .result-price").first.text_content()
if await card.locator(".price, .result-price").count() else None)
data.append({"title": (title or "").strip(), "price": (price or "").strip(), "link": link})
return data
async def main():
start_url = "https://newyork.craigslist.org/search/apa?query=studio"
async with async_playwright() as p:
browser = await p.chromium.launch(headless=True)
page = await browser.new_page()
url = start_url
all_rows = []
for _ in range(3): # 3ページ分を取得
rows = await scrape_page(page, url)
if not rows:
break
all_rows.extend(rows)
url = next_page_url(url)
await browser.close()
for row in all_rows[:10]:
print(row)
asyncio.run(main())
このスクリプトに加えて必要なもの: Playwrightのインストール(pip install playwright && playwright install)、大量実行時のプロキシ設定、レート制限に引っかかった場合の手動CAPTCHA対応です。これがトレードオフで、自由度は高いですが責任もすべて自分で負います。
無料 vs 有料:Craigslistスクレイパーの本当のコスト
このテーマを調べ始めたときに、こんな表があればよかったと思うものです。「無料」はWebスクレイピングでは要注意ワードです。
| ツール | 完全無料か | 無料プランの制限 | 有料の開始価格 | 隠れコスト |
|---|---|---|---|---|
| Thunderbit | 無料プランあり(6ページ) | 6ページ/月、無料トライアルは10ページ | 高頻度利用向けに有料プランあり | なし — エクスポート無料 |
| Scrapy | ✅ オープンソース | 無制限 | $0 | プロキシ費用、ホスティング、保守 |
| BeautifulSoup | ✅ オープンソース | 無制限 | $0 | プロキシ費用、ホスティング、保守 |
| Playwright | ✅ オープンソース | 無制限 | $0 | プロキシ費用、ホスティング、保守 |
| Selenium | ✅ オープンソース | 無制限 | $0 | プロキシ費用、ホスティング、保守 |
| ParseHub | 無料プランあり | 5プロジェクト | 約$189/月 | 無料枠では定期実行が制限される |
| Apify | 無料プランあり | 月$5分のクレジット無料 | 約$49/月 | 計算量課金が膨らむことがある |
| Phantombuster | 無料プランあり | 5スロット、月2時間、10行まで出力 | 約$56/月(年払い) | スロット課金 |
| Bright Data | トライアルのみ | 1,000リクエスト / 1週間 | 約$500+/月 | プロキシ費用が別途必要 |
| Oxylabs | トライアルのみ | 2,000件 / 1GB | 約$75+/月(Unblocker) | エンタープライズ価格帯 |
オープンソースの「無料」には大きな注意書きがあります。Scrapy、Playwright、Selenium、BeautifulSoupはインストール費用こそ0円ですが、Craigslistで大規模運用するなら、セットアップに開発者の時間がかかり、住宅プロキシに月$50〜500以上、さらにCraigslistのHTML変更のたびに保守が発生します。ThunderbitはAIが毎回ページを新しく読み取るため保守は不要、エクスポートも無料で、中規模ならブラウザベースでプロキシ費用もかかりません。非開発者にとっては、これはかなり大きな強みです。
実際に抽出できるデータ: Craigslistカテゴリ別の項目
Craigslistのカテゴリごとに、データ構造はまったく異なります。住宅掲載と求人投稿は、見た目も中身も別物です。主要カテゴリごとに、現実的に抽出できる項目は次の通りです。
| Craigslistカテゴリ | 抽出可能な項目 | 連絡先情報は取得可能? |
|---|---|---|
| 住宅 / アパート | Title、Price、Sqft、Bedrooms、Bathrooms、Location、Date、Images、Description、Map Link、空き状況、ペット可否、洗濯機/駐車場 | ⚠️ 場合による(匿名化されたメール中継) |
| 売買 | Title、Price、Condition、Location、Date、Images、Description、Make/Model/Year(変動あり) | ⚠️ 場合による |
| Jobs | Title、Company、Compensation、Location、Job Type、Experience Level、Date、Description | まれ(応募リンクのみ) |
| Services | Title、Location、Description、Images | ⚠️ 場合による |
| Gigs | Title、Compensation、Location、Date、Description | ⚠️ 場合による |
大事な注意点は以下です。
- 連絡先情報: Craigslistは、直接のメールスクレイピングを防ぐために、匿名化されたメール中継を使っています。「メール抽出」をうたうツールの多くは、投稿者本人のメールではなく、リレーアドレス(
reply+randomstring@craigslist.org)を拾っているだけです。 - 詳細ページの項目 である全文説明、画像、埋め込み連絡先は、検索結果ページではなく、各掲載ページを開いたときにしか見えません。
- Thunderbitの「One Click Extract」 は、そのページで利用可能な項目を自動検出し、適切な列構成を提案します。住宅をスクレイピングすればsqft/bedrooms列、求人ならcompensation/job-type列が自動で入り、手動設定は不要です。その後の サブページスクレイピング で各掲載ページを巡回し、詳細ページ専用の項目も取得できます。
法的な現実確認:Craigslistの利用規約、3Taps事件、知っておくべきこと
私は弁護士ではありません。以下は法的助言ではありません。ただ、ユーザーが気にするポイントなので、率直に触れておく価値があります。
重要な前例: Craigslist v. 3Taps(2013年) では、Craigslistが差止命令を得て、停止要求後も掲載情報をスクレイピングして再公開した3Tapsを訴えました。3TapsはプロキシサーバーでIPブロックを回避したとされ、裁判所はブロック後のアクセスを「無許可」とみなす可能性があると判断しました。EFFも この件は2015年に和解したと述べています。
Craigslistの利用規約 では、サイトとのやり取りに「robots、spiders、scripts、scrapers、crawlers、またはそれらに相当する自動・手動手段」の使用を明確に禁止 しています。さらに、24時間で最初の1,000ページ閲覧を超えた違反に対して、1ページあたり$0.25の予定損害賠償まで定めています。
実務上のガイドライン:
- ✅ 公開されている掲載データを、市場調査や個人利用のためにスクレイピングする
- ✅ robots.txt とレート制限を尊重する
- ⚠️ スクレイピングした掲載情報を大量再公開しない
- ⚠️ スクレイピングした連絡先情報を無差別営業に使わない
- ❌ ブロックされた後に技術的制限を回避しない
重要なのは、この区別です。公開情報を自分の分析のために集めることと、大量再公開やスパム目的のメール収集は別物です。ただしCraigslistは、これまで利用規約の執行からIPブロック、法的措置へと段階的に強めてきた経緯があります。
あなたに最適なCraigslistスクレイパーはどれか?
10種類を試したうえで、シナリオ別におすすめをまとめると次の通りです。
- すぐにCraigslistデータが必要な非技術系ビジネスユーザー → Thunderbit。コード不要、AIによる項目検出、保守不要、無料エクスポート。"このデータが欲しい" から "スプレッドシートに入った" まで最短です。
- 全地域で毎日何千件もスクレイピングする企業チーム → Bright Data。Craigslist専用スクレイパー、大規模プロキシ基盤、自動CAPTCHA解決、専任サポート。
- 管理されたAPI / プロキシ基盤が欲しい開発チーム → プロキシ中心のワークフローなら Oxylabs、Actorマーケットプレイスの柔軟性なら Apify。
- 完全な制御とカスタマイズが欲しい開発者 → Scrapy + Playwright。オープンソースで柔軟性は最大。ただしプロキシと保守は自前です。
- 予算重視で中程度のニーズがあるユーザー → Apifyの無料プラン($5/月分クレジット)か、ParseHubの無料プラン(5プロジェクト)。
- すでにマルチプラットフォームのリード獲得ツールを使っている営業チーム → Phantombuster。Craigslistを既存のパイプラインに追加できます。
- Python初心者で一度だけスクレイピングしたい人 → BeautifulSoup + requests。最小限のコード、最小限の設定、最小限の機能。
多くの非技術系ビジネスユーザーにとっては、使いやすさ・精度・コストのバランスでThunderbitが最適です。開発者なら、Scrapy + Playwrightの組み合わせが最も強力です。企業規模ならBright Dataは非常に有力です。
AIでCraigslistをスクレイピングする実際の動きを見たいなら、Thunderbitを試してみてください。無料プランだけで、自分の用途を十分テストできます。さらにWebスクレイピングを深掘りしたいなら、Google Sheetsへのスクレイピング方法、おすすめの自動Webスクレイピングツール、ブロックされずにWebスクレイピングする方法 もぜひご覧ください。ステップごとの動画解説は YouTubeチャンネル でも見られます。
快適なスクレイピングを。そして、あなたのデータがいつもクリーンで、構造化され、すぐ使える状態でありますように。
FAQ
Craigslistの掲載情報をスクレイピングするのは合法ですか?
Craigslistの利用規約では自動スクレイピングを明確に禁じており、Craigslist v. 3Taps事件 が代表的な法的前例です。公開掲載データを個人利用や分析目的で収集することは、大量再公開やスパムとは通常別に扱われますが、常にレート制限とサイトのルールを尊重してください。これは法的助言ではありません。
コーディングなしでCraigslistをスクレイピングできますか?
はい。 Thunderbit、ParseHub、Apify のようなツールを使えば、Craigslistデータをノーコードまたはローコードで抽出できます。ThunderbitはAIベースの項目検出が特に簡単で、「One Click Extract」と「Scrape」を押すだけです。
いちばん良い無料Craigslistスクレイパーは何ですか?
開発者向けなら、Scrapy や BeautifulSoup が完全無料のオープンソースです(ただしプロキシと保守のコストはかかります)。非エンジニアなら、Thunderbitの無料プラン(月6ページ)が最適な出発点で、ParseHubの無料プラン(5プロジェクト)も選択肢になります。
Craigslistでブロックされないようにするにはどうすればいいですか?
レート制限を使い(最低2〜5秒の遅延)、User-Agentをローテーションし、データセンタープロキシは避け(Craigslistでは住宅プロキシやISPプロキシの方がずっと有効です)、予測しやすいクロールパターンを作らないことです。中規模なら、Thunderbitのようなブラウザベースのツールは、自分のChromeセッション内で動くため、プロキシ問題を丸ごと回避できます。
Craigslistの全地域を一度にスクレイピングできますか?
ScrapyやPlaywrightのような開発者向けツールなら、米国/準州の416地域URL をプログラムで順番に回せます。Bright Data や Oxylabs のような企業向けツールは、複数地域スクレイピングを標準搭載しています。Thunderbitなら、各地域サイトを開いて同じ手順でスクレイピングでき、AIが各ページに自動で適応します。
CraigslistスクレイピングをThunderbitで試す Get Started Free
詳しくはこちら


