You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何查找Airbnb房源类名?Python爬虫代码适配遇阻

解决Airbnb爬虫房源类名定位问题的实用方法
  • 确认页面加载状态:Airbnb房源列表为动态加载,静态HTML无法获取渲染后的真实DOM。改用selenium或playwright等无头浏览器工具,等待页面完全加载后再抓取。示例代码片段:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    
    # 等待房源元素批量出现
    wait = WebDriverWait(driver, 15)
    listings = wait.until(EC.presence_of_all_elements_located((By.XPATH, '//div[@data-testid="listing-card"]')))
    
  • 优先抓取API接口:Airbnb多数房源数据通过后端API返回,直接解析接口响应比依赖前端类名更稳定。打开浏览器开发者工具(F12)→「网络」标签,筛选XHR/Fetch请求,找到返回房源列表的接口,分析请求参数后用Python的requests库直接调用接口获取数据。

  • 替代类名的定位方式:Airbnb会频繁更新前端类名(多为随机字符串),不要硬抄旧教程的类名。右键目标房源元素→「检查」,在Elements面板复制XPath或CSS选择器,用结构/属性定位替代类名。比如:

    • XPath示例://section[contains(@class, "listings")]//div[contains(@aria-label, "房源")]
    • CSS选择器示例:section[data-section-id="Listings"] div[data-testid="listing-card"]
  • 验证抓取内容:用BeautifulSoup解析页面时,先打印抓取到的HTML源码,确认是否包含房源元素。如果源码中无对应内容,说明需用无头浏览器渲染动态内容。

内容的提问来源于stack exchange,提问作者bram1471

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 19:52:42