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

使用Beautiful Soup抓取时,页面元素与浏览器Inspect显示不一致的问题

问题分析与解决方案

出现这个问题的核心原因是:Zillow的抵押贷款利率表格是通过JavaScript动态渲染生成的,你用requests.get()获取的是服务器返回的静态HTML源码,这部分源码里并没有浏览器开发者工具中看到的<tr>元素,自然无法通过BeautifulSoup抓取到。

下面提供两种可行的解决方法:

方法一:使用Selenium模拟浏览器渲染页面

Selenium可以模拟真实浏览器加载页面,等待JavaScript完成渲染后再获取完整的页面内容,步骤如下:

  1. 先安装Selenium和对应浏览器的驱动(比如ChromeDriver)
  2. 编写代码模拟浏览器访问并抓取数据:
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import pandas as pd

url = 'https://www.zillow.com/mortgage-rates/'

# 初始化Chrome浏览器(需确保ChromeDriver已配置到环境变量)
driver = webdriver.Chrome()
driver.get(url)

# 等待表格tbody加载完成,最长等待10秒
wait = WebDriverWait(driver, 10)
tbody = wait.until(EC.presence_of_element_located((By.CLASS_NAME, 'hLYlju')))

# 获取渲染后的页面源码
page_source = driver.page_source
soup = BeautifulSoup(page_source, 'html.parser')

# 抓取表格行
table = soup.find('tbody', class_='StyledTableBody-c11n-8-64-1__sc-8i1s74-0 hLYlju')
rows = table.find_all('tr')

# 处理数据(示例:打印每行内容)
for row in rows:
    print([cell.get_text(strip=True) for cell in row.find_all('td')])

# 关闭浏览器
driver.quit()

方法二:直接调用数据API(更高效)

通过浏览器开发者工具分析页面的网络请求,可以找到Zillow获取表格数据的API接口,直接请求该接口获取JSON格式的数据,无需处理页面渲染:

  1. 打开浏览器开发者工具(F12)→ 切换到Network标签 → 刷新页面
  2. 筛选XHR请求,找到返回利率数据的接口(具体接口可能会随网站更新变化)
  3. 直接请求该接口获取数据:
import requests
import pandas as pd

# 实际接口地址需根据当前页面的网络请求确认
api_url = 'https://www.zillow.com/mortgage/api/rates'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
}

response = requests.get(api_url, headers=headers)
data = response.json()

# 解析JSON数据生成DataFrame(示例,需根据实际返回结构调整)
rates_data = data['data']['rates']
df = pd.DataFrame(rates_data)
print(df.head())

注意:API接口可能会随着Zillow网站更新而变化,需要定期检查接口地址和参数;同时请求时要带上合理的User-Agent,避免被反爬拦截。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 11:12:36