企業獨享

經銷商

$0

身份未認證
ico_andr

儀表板

ico_andr

代理設定

right
API 提取
帳密驗證
代理管理器
Local Time Zone

本地時區

right
使用設備的本地時區
(UTC+0:00) 格林威治標準時間
(UTC-8:00) 太平洋時間(美國和加拿大)
(UTC-7:00) 亞利桑那州(美國)
(UTC+8:00) 香港(CN)、新加坡
ico_andr

帳戶

icon

身份認證

img $0
logo

EN

img 語言

當地時區

使用設備的本地時區
(UTC+0:00)
格林威治標準時間
(UTC-8:00)
太平洋時間(美國和加拿大)
(UTC-7:00)
亞利桑那州(美國)
(UTC+8:00)
香港(中國)、新加坡
首頁 img 博客 img 如何使用通用抓取API抓取zillow?

如何使用通用抓取API抓取zillow?

作者 Annie
上傳時間: 2025-05-16
更新時間: 2025-05-16

Zillow 是領先的在線房地產交易平臺,為購房者、賣家、租房者和房地產專業人士提供豐富的信息。憑借其全面的房源數據庫、詳細的經紀人資料和廣泛的市場數據,Zillow 已成為房地產行業從業人員不可或缺的工具。


然而,由於 Zillow 先進的反機器人繫統旨在檢測和處理自動抓取行為,提取這些數據進行大規模分析可能頗具挑戰性。本指南將嚮您展示如何使用通用抓取API有效地從 Zillow 抓取經紀人聯繫電話和其他有價值的數據。


一、可以從zillow代理頁面結構抓取哪些數據?


理解目標頁面結構是高效抓取的前提。Zillow的經紀人信息分佈在兩類頁面:


  • 代理商列錶頁面

  • 個人詳情頁


要想從這兩個頁面中抓取妳需要的數據,就要知道它們都包括了哪些數據。


1.代理商列錶頁面


在代理商列錶頁面,妳可以獲取經紀人的名稱、所在位置、評分、評價數量、聯繫方式(如電子郵件和電話號碼)、官方網站鏈接、經紀公司的名稱等。這些信息通常以列錶形式展示,每個經紀人佔據一行或一個小塊區域。


image.png


此頁面允許用戶按位置瀏覽代理商。例如,它顯示加州洛杉磯的代理商,本頁包括:


  • 代理人姓名 :突出顯示以識別代理人或團隊。

  • 評分和評論 :評論數量和總體星級(例如“5.0 ★”)。

  • 價格範圍 :代理商通常處理的房產價格範圍(例如“1.2 萬美元至950 萬美元”)。

  • 年度成交量 :過去 12 個月的銷售數量等指標,可以深入了解其活動水平。


此頁面是您收集代理數據的起點,併提供每個代理的個人資料快照。


2.個人詳情頁


在個人詳情頁,則能獲取更為詳細的信息。這些信息通常分佈在頁面的不同部分,需要通過網頁抓取技術來找准位置和提取。


image.png


點擊代理商名稱即可進入此頁面,本頁包括:


  • 代理商名稱和團隊信息 :代理商或團隊的名稱及其所屬機構(例如“美國房地產公司”)。

  • 聯繫方式 :電話號碼、電子郵件地址和辦公地址,方便收集潛在客戶信息。

  • 銷售和經驗 :指標包括總銷售額、過去一年的銷售額、平均房價和多年經驗。

  • 客戶評論 :以前客戶的推薦和反饋。

  • 許可信息 :有關代理商許可的詳細信息,這可能對合規性有用。


此頁面對於潛在客戶開發特別有用,併包含直接聯繫方式。


二、為什麽不選擇使用傳統數據抓取工具?


傳統的網絡抓取工具(例如 Puppeteer 和 Playwright)由於諸多限制,通常不足以抓取Zillow 的數據。


Zillow 採用了先進的反機器人繫統,可以輕鬆檢測與自動抓取相關的重復行為和模式,例如相同的瀏覽器指紋或異常的請求頻率。這些繫統可能會觸發CAPTCHA、處理 IP 地址,甚至實施臨時封禁,使得大規模數據提取變得不切實際。


此外,傳統工具可能無法處理 Zillow 的動態內容和 JavaScript 渲染的頁面,導致數據捕獲不完整或不准確。


為了克服這些挑戰,像通用抓取API這樣的專業抓取工具必不可少。通用抓取API旨在模擬類似人類的交互,最大限度地減少可檢測到的痕跡,併有效處理動態內容,從而確保從 Zillow 可靠且可擴展地提取數據。


三、通用抓取API如何解鎖zillow


1.瀏覽器指紋識別


Zillow會監測是否類似人類的操作,如固定滾動速度、有無鼠標移動軌跡。通用抓取API會自動融入類似人類的操作,併且與瀏覽器進行最少且智能的交互來避免這些問題。


2.自動輪換代理


當使用同一IP對網頁進行高頻率的訪問時,會觸發反機器人繫統,導致賬號出現異常。Lunaproxy會自動分配ip,優化用戶代理。


准备:設置 LunarProxy

註冊 LunarProxy 帳戶併訪問 API 詳細信息。設置您的 API 端點和用於身份驗證的令牌。



以下為使用通用抓取API的完整代碼實現:


第一階段:抓取經紀人列錶頁URL


目標:獲取洛杉磯地區所有經紀人個人頁鏈接


import fetch from 'node-fetch';
import * as cheerio from 'cheerio';
import { createObjectCsvWriter } from 'csv-writer';
// 通用抓取API配置
const UNIBERSALSCRAPING_API = 'https://api.lunaproxy.com/v1/scrape';
const API_KEY = 'your_api_key';  // 替換為實際密鑰
// 步驟1:發送抓取請求
const scrapeDirectory = async () => {
  const targetUrl = 'https://www.zillow.com/professionals/real-estate-agent-reviews/los-angeles-ca/';
  
  const params = {
    url: targetUrl,
    render: 'full',  // 啟用無頭瀏覽器渲染
    proxy: JSON.stringify({
      type: 'residential',
      country: 'us'
    }),
    headers: {
      'X-API-Key': API_KEY
    }
  };
  try {
    const response = await fetch(`${UNIBERSALSCRAPING_API}?${new URLSearchParams(params)}`);
    const html = await response.text();
    
    // 步驟2:解析HTML
    const $ = cheerio.load(html);
    const profileUrls = [];
    $('a[href^="/profile/"]').each((i, el) => {
      const path = $(el).attr('href');
      profileUrls.push(`https://www.zillow.com${path}`);
    });
    // 步驟3:保存結果
    const csvWriter = createObjectCsvWriter({
      path: 'zillow_profiles.csv',
      header: [{ id: 'url', title: 'Profile URL' }]
    });
    await csvWriter.writeRecords(profileUrls.map(url => ({ url })));
    console.log('成功保存經紀人鏈接');
  } catch (error) {
    console.error('抓取失敗:', error);
  }
};
scrapeDirectory();


第二階段:提取聯繫方式與成交數據


目標:從個人頁提取電話、姓名、歴史成交記錄


import fs from 'fs';
import { parse } from 'csv-parse';
import { createObjectCsvWriter } from 'csv-writer';
// 配置輸出結構
const outputWriter = createObjectCsvWriter({
  path: 'agent_details.csv',
  header: [
    { id: 'name', title: 'Name' },
    { id: 'phone', title: 'Phone' },
    { id: 'sales', title: '12M Sales' }
  ]
});
// 批量處理URL
const processProfiles = async () => {
  const urls = fs.readFileSync('zillow_profiles.csv', 'utf-8')
    .split('\n')
    .slice(1)  // 跳過標題行
    .map(line => line.trim());
  for (const url of urls) {
    const params = {
      url: url,
      js_instructions: JSON.stringify([
        { action: 'waitForSelector', selector: '.agent-detail-section' }  // 等待關鍵元素加載
      ]),
      extract_rules: JSON.stringify({
        name: '.agent-name::text',
        phone: 'meta[itemprop="telephone"]::attr(content)',
        sales: 'div.sales-stats::text => match(/\\d+/)[0]'  // 使用自定義解析規則
      })
    };
    try {
      const response = await fetch(`${UNIBERSALSCRAPING_API}?${new URLSearchParams(params)}`);
      const data = await response.json();
      
      await outputWriter.writeRecords([{
        name: data.extracted.name || 'N/A',
        phone: data.extracted.phone || 'N/A',
        sales: data.extracted.sales || 0
      }]);
      
    } catch (error) {
      console.error(`處理失敗: ${url}`, error);
    }
  }
};
processProfiles();


四、結論


通過利用通用抓取API,抓取 Zillow 數據變得輕而易舉。通過利用 LunarProxy 的高級功能,房地產專業人士可以有效地提取有價值的經紀人數據,包括聯繫電話、評論和銷售統計數據,而無需擔心被檢測或攔截的風險。


准備好了嗎?立即註冊免費試用,併在您的下一個抓取項目中進行測試。


五、常見問題


1.從 Zillow 抓取數據合法嗎?

抓取公共數據通常是允許的,但在使用通用抓取API之前,建議仔細閱讀Zillow的使用條款,併咨詢法律專業人士的意見。


2.通用抓取API抓取的Zillow數據准確性如何保證?

由於Zillow頁面結構可能發生變化,通用抓取API需要定期進行測試和調整,以確保數據提取的准確性。此外,可以通過數據驗證和清洗等手段,提高數據質量。


3.如何開始使用通用抓取API?

註冊一個LunaProxy賬號,通過儀錶闆配置抓取任務,快速抓取所需數據。

目錄
公告欄
通過站內訊息即時了解luna的最新活動和功能更新。
通過電子郵件聯絡我們
提示:
  • 提供您的帳號或電子郵件。
  • 提供截圖或視頻,並簡單描述問題。
  • 我們將在 24 小時內回覆您的問題。
WhatsApp
加入我們的頻道,以了解有關 LunaProxy 產品和最新發展的最新資訊。
icon

請通過郵件聯繫客服

[email protected]

我們將在24小時內通過電子郵件回复您