不動産サイトのスクレイピングは、不動産業者、投資家、市場アナリストにとって非常に重要なタスクです。Cian、Avito、CIANなどのプラットフォームは、自動データ収集を高度なアンチボットシステムを使用して積極的にブロックしています。適切に設定されたプロキシがなければ、50〜100件のリクエストの後にあなたのIPがブロックされ、価格、広告、マーケットの動向に関する貴重な情報へのアクセスを失うことになります。
このガイドでは、不動産のスクレイピングに適したプロキシの選び方、IPアドレスのローテーションの設定、主要プラットフォームの保護を回避し、ブロックやキャプチャなしで安定してデータを収集する方法を学びます。
なぜ不動産サイトはスクレイピングをブロックするのか
大手不動産プラットフォームであるCian、Avito、Yandex不動産、CIANは、競合他社やアグリゲーターによるデータのスクレイピングで何百万ルーブルも失っています。そのため、彼らは自動情報収集に対する多層的な保護を導入しました。
主なスクレイパーブロック方法:
- IPアドレスの制限: Cianは1時間に80〜120件のリクエストの後にIPをブロックし、Avitoは50〜70件の後にブロックします。これにより、1つのIPから大量のデータを収集することが不可能になります。
- ブラウザのフィンガープリンティング: サイトはHTTPヘッダー、User-Agent、画面解像度、インストールされたフォントなどのパラメータを分析します。これらが疑わしい場合(例えば、クッキーやJavaScriptが欠如している場合)、リクエストはブロックされます。
- 行動分析: アンチボットシステムはリクエストの速度、ナビゲーションパターン、マウスの動きを追跡します。あまりにも速いまたは均一な動作は疑わしいとされます。
- CloudflareとDatadome: 多くのサイトは、TLSフィンガープリンティング、WebGL、Canvasなどの技術的パラメータをチェックする高度な保護システムを使用しています。
プロキシなしでは、数分のアクティブなスクレイピングでブロックに直面することになります。あなたのIPは24〜48時間のブラックリストに載り、通常のブラウザでサイトを開くことすらできなくなります。プロのデータ収集において、プロキシはオプションではなく必須の要件です。
実際の例: モスクワの不動産会社は、Cianからアパートの価格データを収集して市場分析を行っていました。プロキシなしでは、200〜300件の広告を収集した後に彼らのIPがブロックされました(パーサーの作業は約15分)。10分ごとにローテーションするレジデンシャルプロキシを導入した後、彼らは毎日50,000件以上の広告をブロックなしで収集しています。
不動産データ収集に適したプロキシの種類
不動産のスクレイピングには、主に3つのプロキシタイプが使用されます。選択は、タスクの規模、予算、ターゲットサイトの保護レベルによって異なります。
| プロキシの種類 | 利点 | 欠点 | どのようなタスクに適しているか |
|---|---|---|---|
| レジデンシャルプロキシ | 実際の家庭ユーザーのIP、最大の匿名性、ブロックのリスクが最小限、Cloudflareの回避 | 高価格(1GBあたり7〜15ドル)、データセンターに比べて速度が遅い | 高い保護レベルのCian、Avito、CIANのスクレイピング、大量データの収集 |
| データセンタープロキシ | 高速(最大1Gbps)、低価格(1〜3ドル/月)、安定した接続 | アンチボットシステムに簡単に特定される、高いブロックリスク | 保護のない小規模サイトのスクレイピング、パーサーのテスト、APIからのデータ収集 |
| モバイルプロキシ | モバイルオペレーターのIP(MTS、Beeline、MegaFon)、ブロックが難しい、サイトからの信頼性が高い | 最高価格(IPあたり50〜150ドル/月)、動的IP(10〜30分ごとに変更) | 最も厳しい保護の回避、モバイル版サイトからのスクレイピング、重要なタスク |
ほとんどのタスクに対する推奨: Cian、Avito、その他の大手不動産プラットフォームのスクレイピングには、レジデンシャルプロキシが最適な選択です。コスト、速度、匿名性のバランスを提供します。データセンタープロキシは、少量または保護のないサイトにのみ適しています。
レジデンシャル vs データセンター:スクレイピングにどちらを選ぶべきか
不動産のスクレイピングにおいて、各プロキシタイプを使用するタイミングを具体的な例を交えて詳しく説明します。
レジデンシャルプロキシを使用するタイミング
レジデンシャルプロキシは、インターネットサービスプロバイダー(Ростелеком、MTS、Beeline)から提供される実際の家庭ユーザーのIPアドレスです。サイトにとっては通常の訪問者のように見えるため、ブロックされることはほとんどありません。
レジデンシャルプロキシを使用するべき場合:
- Cianのスクレイピング: ロシアの不動産サイトの中で最も厳しい保護があります。30〜50件のリクエストの後にデータセンターをブロックします。レジデンシャルプロキシを使用すれば、1つのIPから500〜1000件のリクエストをブロックなしで行うことができます。
- Avitoのスクレイピング: Cloudflareと行動分析を使用しています。レジデンシャルプロキシはTLSフィンガープリンティングとJavaScriptチャレンジを回避します。
- 大量データの収集: 10,000件以上の広告を毎日スクレイピングする必要がある場合、レジデンシャルプロキシが唯一の信頼できる選択肢です。
- 長期プロジェクト: 数ヶ月にわたってスクレイピングを行う場合、安定性が重要です。レジデンシャルプロキシはブラックリストに載ることがほとんどありません。
Cianの設定例:
50〜100のレジデンシャルIPのプールを使用し、5〜10分ごとにローテーションします。リクエスト間の遅延を2〜5秒(ランダム値)に設定します。実際のユーザーをエミュレートします:画像を読み込み、JavaScriptを実行し、リアルなUser-Agentヘッダーを送信します。このような設定で、1日に20,000〜30,000件の広告をブロックなしで収集できます。
データセンタープロキシが適している場合
データセンタープロキシは、データセンター内のサーバーのIPアドレス(Hetzner、OVH、DigitalOcean)です。レジデンシャルプロキシに比べて5〜10倍安価ですが、IPレンジのデータベースによってアンチボットシステムに簡単に特定されます。
データセンターを使用するべき場合:
- 小規模地域サイトのスクレイピング: 地元の不動産会社、先進的な保護がない広告掲示板。
- パーサーのテスト: コードのデバッグ、レジデンシャルプロキシでの実行前のロジック確認。
- APIのスクレイピング: サイトがパートナー向けに公式APIを提供している場合、データセンターがタスクを処理します。
- 限られた予算: 小規模なデータ(1,000〜2,000件の広告)を収集する必要があり、ブロックのリスクを受け入れることができる場合。
重要: Cian、Avito、Yandex不動産のスクレイピングにデータセンターを使用しないでください。10〜15分以内にIPがブロックされ、時間とお金を無駄にすることになります。これらのサイトにはレジデンシャルプロキシが唯一の実行可能な選択肢です。
安定したスクレイピングのためのIPアドレスのローテーション設定
IPのローテーションは、特定の時間間隔またはリクエスト数ごとにプロキシサーバーを自動的に切り替えることです。ローテーションの正しい設定は、ブロックを回避するために非常に重要です。
IPアドレスのローテーション戦略
不動産のスクレイピングに適した3つの主要なローテーション戦略があります:
| 戦略 | 説明 | 使用するタイミング | 設定 |
|---|---|---|---|
| 時間によるローテーション | N分ごとにIPが変更されます(5、10、15分) | Cian、Avitoのスクレイピング — 時間による厳しい制限のあるサイト |
Cian: 10〜15分 Avito: 8〜12分 CIAN: 5〜10分 |
| リクエストによるローテーション | NリクエストごとにIPが変更されます(50、100、200リクエスト) | 1つのIPからのリクエスト数に制限のあるサイト |
Cian: 80〜100リクエスト Avito: 50〜70リクエスト 地域サイト: 200〜500リクエスト |
| 各リクエストごとのローテーション | 各リクエストがプールから新しいIPを通じて行われます | 最大の匿名性、重要なデータの収集 | 大きなIPプール(100以上)が必要、高コスト、特に保護されたサイトに適しています |
不動産のスクレイピングに対する推奨: 組み合わせ戦略を使用してください — 時間によるローテーション(10分)とリクエストによるローテーション(100リクエスト)。IPは、いずれかの条件が満たされると変更されます。これにより、ブロックからの最大の保護が提供されます。
人気ツールでのローテーション設定の手順
ほとんどの現代のパーサーやスクレイパーは、自動プロキシローテーションをサポートしています。以下は人気ツールでの設定方法です:
ローテーション設定の例(概念的):
1. プロキシのリストを作成します(ファイル proxies.txt):
123.45.67.89:8000:username:password
234.56.78.90:8000:username:password
345.67.89.01:8000:username:password
2. ローテーションのパラメータを設定します:
- ローテーション間隔:10分
- または100リクエストごと
- リクエスト間のランダムな遅延:2〜5秒
3. 実際のブラウザのエミュレーションを有効にします:
- User-Agent:人気のあるブラウザのリストからランダムに
- Accept-Language:ja-JP,ja;q=0.9,en;q=0.8
- Referer:サイトのホームページまたは検索エンジン
- Cookies:1つのIPからのリクエスト間で保存
ローテーション設定の重要なニュアンス:
- プロキシプールのサイズ: Cianの安定したスクレイピングには、最低20〜30のIPプールが必要です。Avitoには30〜50のIPが必要です。プールが大きいほど、各IPへの負荷が低くなります。
- クッキーの保存: IPを変更する際にクッキーをリセットしないでください — これは疑わしく見えます。各IPは、リクエスト間で保存される独自のクッキーセットを持つ必要があります。
- プロキシのジオロケーション: 地域広告のスクレイピングには、同じ都市のプロキシを使用してください。たとえば、サンクトペテルブルクの不動産データを収集する場合は、サンクトペテルブルクのIPを持つプロキシを使用します。
- 動作確認: スクレイピングを開始する前に、すべてのプロキシの動作を確認してください。ブロックされたり遅いIP(ping > 500ms)はリストから削除します。
Cian、Avito、CIANのアンチボットシステムを回避する方法
現代の不動産サイトは、ボットからの多層的な保護を使用しています。プロキシだけでは不十分で、実際のユーザーの行動をエミュレートする必要があります。各大手プラットフォームの保護を回避する方法を見ていきましょう。
Cianの保護を回避する方法
Cianは、ロシアで最も保護された不動産プラットフォームです。Cloudflare、自社のアンチボットシステム、機械学習を組み合わせて、パーサーを特定しています。
Cianが確認する内容:
- TLSフィンガープリンティング: SSL/TLS接続のユニークなフィンガープリント。Cianは、非標準のTLSパラメータによって自動化ツール(Selenium、Puppeteer)を特定します。
- JavaScriptチャレンジ: 初回アクセス時にCloudflareがJavaScriptをチェックします。ブラウザがJSを実行しないか、正しく実行しない場合 — ブロックされます。
- CanvasおよびWebGLフィンガープリンティング: Cianはブラウザのグラフィックエンジンのユニークなフィンガープリンツを読み取ります。異なるIPからの同じフィンガープリンツはボットの兆候です。
- 行動分析: スクロール速度、マウスの動き、ページ上の時間、クリックパターン。あまりにも速いまたは機械的な動作は疑わしいとされます。
Cianの保護を回避する方法:
- レジデンシャルプロキシを使用する: それだけがCloudflareを安定して回避できます。データセンターは90%の確率でブロックされます。
- 実際のブラウザをエミュレートする: 完全なブラウザをサポートするライブラリ(Playwright、Puppeteer Stealth)を使用します。これにより、実際のChrome/FirefoxのTLSフィンガープリンティング、Canvas、WebGLをエミュレートします。
- 遅延を設定する: リクエスト間に3〜7秒(ランダム値)。クリック前に0.5〜2秒。広告を読むことを模倣する — 広告ページで10〜20秒の遅延。
- User-Agentのローテーション: 人気のあるブラウザの実際のUser-Agentのリストを使用します(Chrome 120以上、Firefox 121以上、Safari 17以上)。IPと一緒にUser-Agentを変更します。
- キャプチャを処理する: プロキシを使用しても、Cianは疑わしい活動があるとキャプチャを表示することがあります。キャプチャ解決サービス(2Captcha、Anti-Captcha)を使用するか、スクレイピングの強度を減らします。
アドバイス: Cianのスクレイピングには、stealthモードを持つヘッドレスブラウザを使用することをお勧めします(自動化の兆候を隠す)。ランダムな遅延、マウスの動き、スクロールをエミュレートします。10分ごとまたは80〜100リクエストごとにIPをローテーションします。このような設定で、スクレイピングの成功率は95〜98%です。
Avitoの保護を回避する方法
AvitoはCloudflareと独自のボット検出システムを使用しています。Cianよりも保護はやや弱いですが、プロキシとブラウザのエミュレーションの正しい設定が必要です。
Avitoの保護の特徴:
- IPからのリクエスト制限50〜70件: 制限を超えると、Avitoはキャプチャを表示するか、IPを1〜2時間一時的にブロックします。
- Refererの確認: Avitoは、ユーザーがどこから来たかを確認します。Refererがないか、疑わしいソースがある場合はブロックの理由になります。
- リクエスト速度の分析: リクエストが1〜2秒よりも速い場合 — これは明らかにボットの兆候です。
- 地域的な関連付け: Avitoは、IPアドレスが選択した都市に一致しているかを確認します。モスクワのIPで、ウラジオストクの広告を見ている場合 — これは疑わしいです。
Avitoの保護を回避するための設定:
- 必要な地域のレジデンシャルプロキシ: ノボシビルスクの広告をスクレイピングする場合は、ノボシビルスクまたは隣接地域のIPを持つプロキシを使用してください。
- 8〜12分ごとまたは50リクエストごとのローテーション: 1つのIPからのリクエスト制限を超えないでください。
- 正しいReferer: YandexやGoogleの検索から来たかのようにRefererを設定します:
https://yandex.ru/search/?text=アパートを買う - リクエスト間の遅延2〜4秒: ランダムな値を設定し、均等な間隔にならないようにします。
- クッキーとセッションの保存: Avitoはユーザーセッションを追跡します。1つのIPからのリクエスト間でクッキーを保存します。
CIANおよび他のプラットフォームの保護を回避する方法
CIAN、Yandex不動産、Domofondなどの他のプラットフォームは、CianやAvitoに比べて保護が弱いです。これらには基本的な設定で十分です:
- 15〜20分ごとのレジデンシャルプロキシ
- リクエスト間の遅延1〜3秒
- リアルなUser-Agentと基本的なヘッダー
- 稀なキャプチャの処理(5〜10%の確率で発生)
プロキシをサポートする不動産スクレイピングツール
不動産サイトのスクレイピングには、既製のソリューションとカスタムパーサーの両方が使用されます。選択は、技術的なスキル、予算、タスクの規模によって異なります。
プログラミングなしの既製のスクレイピングサービス
開発者でない場合は、視覚的インターフェースとプロキシの組み込みサポートを持つ既製のサービスを使用してください:
- Octoparse: ドラッグアンドドロップのビジュアルパーサーコンストラクター。プロキシ、JavaScript、キャプチャをサポート。人気のあるサイト用の既製テンプレートがあります。価格は月75ドルから。
- ParseHub: 200ページの無料プラン、月149ドルからの有料プラン。プロキシ、AJAX、無限スクロールをサポート。Avitoや地域サイトのスクレイピングに適しています。
- Apify: ウェブスクレイピングのためのクラウドプラットフォーム。さまざまなサイト用の既製のアクター(パーサー)の膨大なライブラリ。プロキシの組み込みローテーション。月49ドルから。
- Bright Data(旧Luminati): 独自のプロキシネットワークを持つプロフェッショナルなソリューション。スクレイピング、キャプチャ回避、ブラウザエミュレーションのための組み込みツール。月500ドルから。
推奨: 初心者や小規模プロジェクトにはOctoparseやParseHubが適しています。大規模なデータのプロフェッショナルなスクレイピングにはApifyやBright Dataが適しています。
開発者向けライブラリ
開発者または技術チームがいる場合、カスタムパーサーは最大の柔軟性と制御を提供します:
- Puppeteer / Playwright(JavaScript/Node.js): JavaScriptを使用した複雑なサイトのスクレイピング用のヘッドレスブラウザ。実際のブラウザを完全にエミュレートし、ほとんどのアンチボットシステムを回避します。プロキシの組み込みサポート。
- Selenium(Python、Java、C#): ブラウザの自動化のためのクラシックなツール。大きなコミュニティと多数の既製ソリューションがあります。stealthモード用の追加ライブラリが必要です。
- Scrapy(Python): 強力なスクレイピングフレームワーク。非同期で、高速、スケーラブル。複雑なJavaScriptのないシンプルなサイトのスクレイピングに適しています。プロキシとの統合が容易です。
- BeautifulSoup + Requests(Python): HTMLをスクレイピングするためのシンプルなライブラリ。初心者や簡単なタスクに適しています。JavaScriptサイトでは動作しません。
CianとAvitoのスクレイピングには: Puppeteer StealthまたはPlaywrightをお勧めします — それらは実際のブラウザの完全なエミュレーションにより、現代のアンチボットシステムを最もよく回避します。
実用的なアドバイス:ブロックを回避する方法
安定した不動産のスクレイピングをブロックなしで行うためのチェックリストとして、すべての推奨事項をまとめます:
不動産パーサー設定のチェックリスト
✅ プロキシの選択:
- Cian、Avitoにはレジデンシャルプロキシのみを使用
- 負荷を分散するために最低20〜50のIPプール
- 必要な地域のプロキシ(モスクワの広告にはモスクワのIP)
- 開始前にすべてのIPの動作確認
✅ ローテーション設定:
- 時間によるローテーション:Cianには10〜15分、Avitoには8〜12分
- リクエストによるローテーション:Cianには80〜100、Avitoには50〜70
- 各IPごとのクッキーの保存
- リクエスト間のランダムな遅延:2〜5秒
✅ ブラウザのエミュレーション:
- stealthモードを持つヘッドレスブラウザの使用
- 人気のあるブラウザのリストからランダムなUser-Agent
- 正しいヘッダー:Accept-Language、Referer、Accept-Encoding
- JavaScriptの実行、画像の読み込み
- Cianの場合、スクロールやマウスの動きをエミュレート
✅ エラー処理:
- 2CaptchaやAnti-Captchaを通じてキャプチャを自動的に解決
- エラー時の再試行(最大3回の試行)
- ブロックされたIPのログを記録し、プールから除外
- リクエストの成功率を監視(95%以上であるべき)
✅ パフォーマンスの最適化:
- 並行スクレイピング:異なるIPで3〜5スレッドを同時に使用
- すでに収集した広告のキャッシュ(IDによる確認)
- 夜間にスクレイピング(サイトへの負荷が少なく、チェックも少ない)
- プロキシリストの定期的な更新(週に1回)
不動産スクレイピングの典型的なエラー
ブロックにつながるこれらの一般的なエラーを避けてください:
- 無料プロキシの使用: それらは99%のサイトでブロックされており、遅くて信頼性がありません。プロキシの節約は時間とデータの損失につながります。
- あまりにも速いリクエスト: リクエスト間の遅延が1秒未満 — 明らかにボットの兆候です。プロキシを使用してもブロックされます。
- すべてのIPに同じUser-Agent: 50の異なるIPが同じ珍しいUser-Agentを使用している場合 — 疑わしいです。IPと一緒にUser-Agentをローテーションしてください。
- 地域的な関連付けの無視: エカテリンブルクの広告をモスクワのIPでスクレイピングするのは奇妙です。必要な地域のプロキシを使用してください。
- キャプチャ処理の欠如: 正しい設定でもキャプチャが表示されることがあります。自動解決なしでは、パーサーは停止します。
- プライムタイムでのスクレイピング: 10:00〜20:00はサイトのピークアクティビティであり、アンチボットシステムの最大の警戒があります。夜間または早朝にスクレイピングしてください。
スクレイピングの監視と分析
スクレイピングの品質を監視するために、重要なメトリックの監視を設定してください:
| メトリック | 正常値 | 問題 |
|---|---|---|
| リクエストの成功率 | > 95% | < 90% — プロキシの問題またはブロック |
| 平均応答時間 | 1〜3秒 | > 5秒 — 遅いプロキシ、交換が必要 |
| キャプチャの頻度 | < 5% | > 10% — あまりにも攻撃的なスクレイピング、遅延を増やしてください |
| ブロックされたIP | < 2% プールから | > 5% — プロキシの質または設定の問題 |
| 1時間あたりの収集広告数 | 500〜2000(設定による) | < 100 — あまりにも遅い、遅延を最適化してください |
定期的にパーサーログを分析し、ブロックされたIPを追跡し、統計に基づいて設定を最適化します。スクレイピングは「設定して忘れる」ものではなく、監視と改善の継続的なプロセスです。
結論
Cian、Avito、その他のプラットフォームから不動産データをスクレイピングすることは、プロキシの正しい選択、ローテーションの適切な設定、実際のユーザーの行動のエミュレーションを必要とする複雑なタスクです。質の高いプロキシなしでは、大量のデータを安定して収集することは不可能です — あなたのIPは10〜15分の作業でブロックされます。
このガイドからの主な結論:
- 保護されたサイト(Cian、Avito)のスクレイピングには、レジデンシャルプロキシのみを使用してください — データセンターは90%の確率でブロックされます。
- 負荷を分散するために、10〜15分ごとまたは80〜100リクエストごとにIPをローテーションしてください。
- 実際のユーザーをエミュレートしてください:ランダムな遅延、正しいヘッダー、JavaScriptの実行。
- 地域広告をスクレイピングするために、必要な地域のプロキシを使用してください。
- スクレイピングメトリックを監視し、統計に基づいて設定を最適化してください。
不動産のスクレイピングを専門的に行う予定がある場合や、市場分析のためにデータを収集する予定がある場合は、レジデンシャルプロキシを試してみることをお勧めします — それらは最大の匿名性、安定性、ブロックのリスクを最小限に抑えます。特に厳しい保護が必要なタスクには、ロシアのオペレーターのIPを持つモバイルプロキシが適しています。
プロキシとパーサーの正しい設定により、毎日数万件の広告を収集し、価格の動向を追跡し、不動産市場を分析し、正当な投資判断を下すことができます — ブロック、キャプチャ、データの損失なしで。