
Sora Fujimoto
AI Solutions Architect

AI駆動の自動車プラットフォームは、中古車の販売サイト、ディーラー在庫、オークションプラットフォームから、価格、走行距離、特徴、ディーラー情報、市場トレンドなどのリアルタイムの車両リストデータが必要です。これらのサイトは自動データ収集をブロックする積極的なCAPTCHA保護を採用しています。このガイドでは、AutoTrader、Cars.com、CarGurus、およびディーラー在庫システムなどのプラットフォームに継続的にアクセスできるようにするため、CapSolverを使用して車両リストデータパイプラインを構築する方法を説明します。
米国だけで年間8000億ドル以上の取引が行われる中古車市場では、価格が非常に動的です。同じ車両モデルは、同じ地域内のディーラー間で20〜30%の違いがあります。正確な価値評価、割安在庫の特定、最適な購入タイミングの推奨を行うAI自動車エージェントは、複数のプラットフォームで継続的なリストデータへのアクセスが必要です。
自動車分類サイトは、そのコアビジネスを保護するためにデータを積極的に保護しています。Cox Automotiveの市場データによると、車両価格は供給、需要、季節パターンに基づいて毎日変化しています。AIエージェントがこのデータをスケールして収集しようとすると、検証チャレンジが発生し、パイプラインが停止します。
一般的なCAPTCHAの導入には、検索結果ページでのreCAPTCHA v2、現代のプラットフォームでのCloudflare Turnstile、およびディーラー管理システムでのカスタムチャレンジが含まれます。自動解決がなければ、AIエージェントは正確な市場インテリジェンスに必要なデータの新鮮さを維持できません。
pip install git+https://github.com/capsolver-ai/capsolver-core.git
pip install aiohttp beautifulsoup4 pandas
export CAPSOLVER_API_KEY="your-capsolver-api-key"
追加の要件:
AUTOMOTIVE_PLATFORMS = {
"autotrader": {
"name": "AutoTrader",
"captcha_type": "ReCaptchaV2TaskProxyLess",
"trigger": "after_50_searches",
"data": ["year", "make", "model", "price", "mileage", "dealer", "vin", "features"]
},
"cargurus": {
"name": "CarGurus",
"captcha_type": "AntiTurnstileTaskProxyLess",
"trigger": "rate_limit_80_per_hour",
"data": ["price", "deal_rating", "mileage", "dealer_rating", "days_on_market"]
},
"cars_com": {
"name": "Cars.com",
"captcha_type": "ReCaptchaV2TaskProxyLess",
"trigger": "after_40_listing_views",
"data": ["price", "mileage", "features", "dealer", "history_report", "photos"]
},
"facebook_marketplace": {
"name": "Facebook Marketplace",
"captcha_type": "ReCaptchaV2TaskProxyLess",
"trigger": "behavioral_and_rate",
"data": ["price", "mileage", "location", "seller_type", "description"]
}
}
import asyncio
from capsolver_core import create_capsolver, CaptchaType, CaptchaInfo
from dataclasses import dataclass
from typing import Optional
@dataclass
class VehicleListing:
vin: Optional[str]
year: int
make: str
model: str
price: float
mileage: int
dealer: str
location: str
days_on_market: int
platform: str
url: str
class VehicleDataCollector:
"""CAPTCHA処理を備えた車両リストデータの収集。"""
def __init__(self, api_key: str, proxies: list):
self.cap = create_capsolver(api_key=api_key)
self.proxies = proxies
self.proxy_idx = 0
async def search_vehicles(self, make: str, model: str, year_range: tuple,
location: str, platform: str = "autotrader") -> list:
"""CAPTCHA処理を備えた車両リストの検索。"""
proxy = self.proxies[self.proxy_idx % len(self.proxies)]
self.proxy_idx += 1
html = await self._fetch_search(platform, make, model, year_range, location, proxy)
if self._is_captcha(html):
token = await self._solve(platform)
html = await self._retry(platform, make, model, year_range, location, proxy, token)
return self._parse_listings(html)
async def _solve(self, platform_key: str) -> str:
config = AUTOMOTIVE_PLATFORMS[platform_key]
type_map = {
"ReCaptchaV2TaskProxyLess": CaptchaType.RECAPTCHA_V2,
"AntiTurnstileTaskProxyLess": CaptchaType.CLOUDFLARE
}
info = CaptchaInfo(
type=type_map[config["captcha_type"]],
website_url=f"https://www.{platform_key.replace('_', '')}.com",
website_key=config.get("site_key", "")
)
solution = await self.cap.solve(info)
return solution.token
async def monitor_market(self, make: str, model: str, region: str) -> dict:
"""特定の車両の市場価格をモニタリング。"""
all_listings = []
for platform in ["autotrader", "cargurus", "cars_com"]:
listings = await self.search_vehicles(make, model, (2020, 2024), region, platform)
all_listings.extend(listings)
await asyncio.sleep(5)
prices = [l.price for l in all_listings if l.price > 0]
return {
"make_model": f"{make} {model}",
"total_listings": len(all_listings),
"avg_price": sum(prices) / len(prices) if prices else 0,
"min_price": min(prices) if prices else 0,
"max_price": max(prices) if prices else 0,
"platforms_checked": 3
}
async def close():
await self.cap.aclose()
| 利用ケース | 必要なデータ | 更新頻度 | 価値 |
|---|---|---|---|
| 車両価値評価 | 比較可能なリスト、走行距離、状態 | 毎日 | 正確な買取価格 |
| ディールスコアリング | 価格と市場平均の比較、掲載日数 | 実時間 | 割安車両の特定 |
| 市場タイミング | 30〜90日間の価格トレンド | 毎週 | 最適な購入タイミング |
| 在庫アラート | 要件に一致する新規リスト | 2〜4時間ごと | 先発優位 |
| 減価損モデル | 年齢/走行距離ごとの歴史的価格 | 毎月 | 投資分析 |
| モニタリング範囲 | 日次検索数 | 月次CAPTCHA数 | 月次コスト |
|---|---|---|---|
| 5モデル、1地域 | ~45 | ~135 | $0.27-0.41 |
| 20モデル、3地域 | ~360 | ~1,080 | $2.16-3.24 |
| 100モデル、5地域 | ~3,000 | ~9,000 | $18-27 |
ボーナーコードを取得してください: CapSolverダッシュボードでコード WEBS を使用すると、すべての充電に対して追加の5%のボーナスを取得できます。
CapSolverのウェブスクレイピングガイドでは、高ボリューム収集のインフラパターンがカバーされています。Cloudflare保護プラットフォームについては、Turnstileドキュメントが実装の詳細を提供します。CapSolverのFAQでは、一般的なデータ収集の質問に答えています。
AIエージェントの車両リストデータ収集は、自動車プラットフォーム間で多様なCAPTCHAシステムを処理する必要があります。CapSolverは、reCAPTCHAとCloudflare Turnstileを3〜12秒で解除する統一された解決インフラを提供し、スケール可能な継続的な市場モニタリングを可能にします。収集されたデータは、正確な価値評価、ディールの特定、市場タイミングの推奨を提供するAIエージェントを駆動します。
標準のCAPTCHAシステムを使用するすべての主要プラットフォーム: AutoTrader、CarGurus、Cars.com、Edmunds、KBB、Facebook Marketplace、およびディーラー在庫サイト。それぞれに特定のCAPTCHAパラメータの識別が必要です。
はい。走行距離、状態、場所の要因を含むクロスプラットフォームのリストデータにより、実際の市場価値の5〜10%以内の価値評価を生成できます。重要なのは、各評価に20以上の比較可能なリストを収集することです。
3つのプラットフォームで20モデルをモニタリングし、30%のCAPTCHA遭遇率がある場合、月に約1,080回のCAPTCHAが発生し、1,000回あたり$2〜3で計算すると、解決に$2.16〜3.24かかります。プロキシを含むインフラの総コストは月に$25以下です。
スケーラブルなRustウェブスクレイピングアーキテクチャを学びましょう。リクエスト、スクレイパー、非同期スクレイピング、ヘッドレスブラウザスクレイピング、プロキシローテーション、およびコンプライアンス対応のCAPTCHA処理で。

2026年のデータ・アズ・ア・サービス(DaaS)を理解する。その利点、ユースケース、およびリアルタイムの洞察と拡張性を通じて企業を変革する方法について探る。
