
Emma Foster
Machine Learning Engineer

Platform real estat berbasis AI membutuhkan akses terus-menerus ke data daftar properti — harga, ketersediaan, fitur, dan tren pasar — dari sistem MLS, portal real estat, dan situs agregator. Platform ini menerapkan perlindungan CAPTCHA yang menghalangi pengumpulan data otomatis, mencegah agen AI dari mempertahankan basis data properti yang akurat dan terkini. Panduan ini menunjukkan cara membangun pipeline data daftar real estat untuk agen AI menggunakan CapSolver untuk menangani tantangan verifikasi di Zillow, Realtor.com, Redfin, dan platform serupa.
Platform real estat menyimpan data yang paling bernilai komersial di internet. Harga properti, riwayat daftar, hari di pasar, dan tren lingkungan menggerakkan miliaran dolar dalam keputusan investasi. Platform ini melindungi data mereka secara agresif — menerapkan lapisan deteksi bot termasuk CAPTCHA, pembatasan kecepatan, dan analisis perilaku.
Agen real estat AI yang memberikan penilaian properti, analisis pasar, atau rekomendasi investasi membutuhkan data daftar yang segar. Ketika agen-agen ini mencoba mengumpulkan informasi properti secara skala — memeriksa ratusan daftar di beberapa pasar — mereka memicu tantangan verifikasi yang menghentikan pengumpulan data. Data penelitian NAR menunjukkan bahwa harga properti bisa berubah setiap hari di pasar aktif, membuat pemantauan terus-menerus penting untuk rekomendasi yang andal berbasis AI.
Penggunaan CAPTCHA umum termasuk reCAPTCHA v2 di halaman hasil pencarian, Cloudflare Turnstile di platform real estat modern, dan tantangan khusus di portal akses MLS. Tanpa penyelesaian otomatis, agen AI tidak dapat mempertahankan segarnya data yang diperlukan untuk analisis properti yang andal.
pip install git+https://github.com/capsolver-ai/capsolver-core.git
pip install aiohttp beautifulsoup4 pandas
export CAPSOLVER_API_KEY="your-capsolver-api-key"
Persyaratan tambahan:
REAL_ESTATE_PLATFORMS = {
"zillow": {
"name": "Zillow",
"captcha_type": "ReCaptchaV2TaskProxyLess",
"trigger": "after_50_listing_views",
"data_fields": ["price", "beds", "baths", "sqft", "lot_size", "year_built", "zestimate"]
},
"realtor_com": {
"name": "Realtor.com",
"captcha_type": "AntiTurnstileTaskProxyLess",
"trigger": "rate_limit_80_per_hour",
"data_fields": ["price", "beds", "baths", "sqft", "listing_date", "agent"]
},
"redfin": {
"name": "Redfin",
"captcha_type": "ReCaptchaV3TaskProxyLess",
"trigger": "behavioral_score",
"data_fields": ["price", "beds", "baths", "sqft", "redfin_estimate", "hot_home"]
}
}
Gunakan ekstensi CapSolver untuk mengidentifikasi parameter CAPTCHA di setiap platform.
import asyncio
from capsolver_core import create_capsolver, CaptchaType, CaptchaInfo
class RealEstateCollector:
"""Kumpulkan data daftar real estat dengan penanganan 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 collect_listings(self, market: str, platform: str, max_pages: int = 10) -> list:
"""Kumpulkan properti daftar untuk pasar dengan penanganan CAPTCHA."""
listings = []
for page in range(max_pages):
proxy = self.proxies[self.proxy_idx % len(self.proxies)]
self.proxy_idx += 1
html = await self._fetch_page(platform, market, page, proxy)
# Tangani CAPTCHA jika dipicu
if self._is_captcha(html):
token = await self._solve(platform)
html = await self._retry_with_token(platform, market, page, proxy, token)
page_listings = self._parse_listings(html)
listings.extend(page_listings)
if not page_listings:
break
await asyncio.sleep(5) # Pembatasan kecepatan
return listings
async def _solve(self, platform_key: str) -> str:
"""Selesaikan CAPTCHA untuk platform real estat."""
platform = REAL_ESTATE_PLATFORMS[platform_key]
type_map = {
"ReCaptchaV2TaskProxyLess": CaptchaType.RECAPTCHA_V2,
"ReCaptchaV3TaskProxyLess": CaptchaType.RECAPTCHA_V3,
"AntiTurnstileTaskProxyLess": CaptchaType.CLOUDFLARE
}
info = CaptchaInfo(
type=type_map[platform["captcha_type"]],
website_url=f"https://www.{platform_key.replace('_', '')}.com",
website_key=platform.get("site_key", "")
)
solution = await self.cap.solve(info)
return solution.token
async def close(self):
await self.cap.aclose()
class RealEstateMonitor:
"""Pantau pasar real estat untuk perubahan daftar."""
def __init__(self, collector: RealEstateCollector):
self.collector = collector
self.listing_history = {}
async def monitor_market(self, market: str, platforms: list) -> dict:
"""Pantau pasar di beberapa platform dan deteksi perubahan."""
changes = {"new_listings": [], "price_changes": [], "removed": []}
for platform in platforms:
current = await self.collector.collect_listings(market, platform)
for listing in current:
listing_id = listing.get("id")
if listing_id in self.listing_history:
prev = self.listing_history[listing_id]
if listing["price"] != prev["price"]:
changes["price_changes"].append({
"id": listing_id,
"address": listing["address"],
"old_price": prev["price"],
"new_price": listing["price"]
})
else:
changes["new_listings"].append(listing)
self.listing_history[listing_id] = listing
return changes
| Cakupan Pemantauan | Daftar yang Diperiksa Harian | CAPTCHA Bulanan | Biaya Bulanan |
|---|---|---|---|
| 1 pasar, 1 platform | ~500 | ~150 | $0,30-0,45 |
| 5 pasar, 2 platform | ~5.000 | ~1.500 | $3-4,50 |
| 20 pasar, 3 platform | ~30.000 | ~9.000 | $18-27 |
Dapatkan Kode Bonus Anda: Gunakan kode WEBS di Dashboard CapSolver untuk mendapatkan bonus tambahan 5% pada setiap recharge. Sempurna untuk tim PropTech yang membangun analisis properti berbasis AI.
Panduan CapSolver web scraping mencakup pola infrastruktur tambahan. Untuk situs yang dilindungi Cloudflare, dokumentasi Turnstile memberikan detail implementasi spesifik. FAQ CapSolver menjawab pertanyaan umum tentang pengumpulan data web.
Membangun pipeline data daftar real estat untuk agen AI membutuhkan profiling sistem CAPTCHA platform, implementasi penyelesaian asinkron dengan CapSolver, dan menyiapkan pemantauan pasar dengan deteksi perubahan. Kombinasi proxy residensial dan penyelesaian CAPTCHA otomatis memungkinkan pengumpulan data yang andal di berbagai platform real estat dengan biaya yang terkendali.
Pendekatan ini berfungsi untuk platform yang menggunakan sistem CAPTCHA standar: Zillow, Realtor.com, Redfin, Trulia, Homes.com, dan sebagian besar portal MLS regional. Setiap platform memerlukan identifikasi parameter CAPTCHA spesifik.
Untuk pasar aktif, pembaruan harian menangkap sebagian besar perubahan harga dan daftar baru. Untuk analisis investasi, dua kali seminggu seringkali cukup. Pasar panas selama musim puncak mungkin memanfaatkan pemantauan dua kali sehari.
Dengan 5 pasar dan 2 platform masing-masing, sekitar 1.500 CAPTCHA per bulan dengan biaya $2-3 per 1.000 penyelesaian berarti $3-4,50 per bulan untuk penyelesaian CAPTCHA. Tambahkan biaya proxy untuk total infrastruktur di bawah $30/bulan.
Ya. Data daftar historis, penjualan komparatif, dan tren pasar memungkinkan agen AI menghasilkan penilaian properti. Kuncinya adalah mempertahankan riwayat data yang cukup (6-12 bulan) dan menjangkau cukup banyak properti komparatif di setiap pasar.
Sistem MLS memiliki kontrol akses yang ketat. Fokus pada data daftar yang tersedia publik dari portal konsumen daripada mencoba akses langsung ke MLS. Data portal publik menyediakan informasi yang cukup untuk sebagian besar kasus penggunaan agen AI termasuk analisis pasar dan rekomendasi properti.
Pelajari arsitektur pengambilan data web Rust yang dapat diskalakan dengan reqwest, scraper, pengambilan data asinkron, pengambilan data browser tanpa tampilan, rotasi proxy, dan penanganan CAPTCHA yang sesuai aturan.

Mengotomasi penyelesaian CAPTCHA dengan Nanobot dan CapSolver. Gunakan Playwright untuk menyelesaikan reCAPTCHA dan Cloudflare secara otomatis.
