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

BeautifulSoup返回值与HTML代码显示值不符问题咨询

解决BeautifulSoup解析网页时数据与HTML显示不一致的问题

我之前爬类似汽车类网站的时候也碰到过一模一样的问题,你的情况大概率是网站内容通过JavaScript动态渲染导致的,咱们一步步拆解问题和解决方案:

问题根源

你在浏览器开发者工具里看到的<div class="fieldYear">2013</div>这类内容,是浏览器执行页面JS后才渲染出来的真实数据。但requests.get()只能获取服务器返回的初始静态HTML,里面的内容可能是占位符、加密数据或者未被替换的模板,自然和你看到的浏览器内容不一致。另外你遇到的146脗 520脗 km乱码,其实是编码解码不匹配的小问题,但核心矛盾还是动态渲染的问题。

解决方案:使用支持JS渲染的工具

要拿到真实渲染后的内容,需要模拟浏览器加载页面并等待JS执行完成,这里推荐用selenium(最常用的动态页面爬取工具),步骤如下:

1. 准备工作

  • 安装selenium:pip install selenium
  • 下载对应浏览器的驱动(比如Chrome浏览器的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

URL_accueil = "https://www.lacentrale.fr/listing?mileageMax=150000&priceMax=17000&priceMin=5000&yearMin=2012&age=1"

# 初始化Chrome浏览器(如果ChromeDriver不在系统PATH里,要指定路径:webdriver.Chrome(executable_path="你的ChromeDriver路径"))
driver = webdriver.Chrome()
driver.get(URL_accueil)

# 等待结果列表加载完成,避免还没渲染好就提取数据
try:
    # 最多等待10秒,直到resultListContainer元素出现
    WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.CLASS_NAME, "resultListContainer"))
    )
except Exception as e:
    print("页面加载超时,可能是网络或反爬限制:", e)

# 获取完全渲染后的页面源码
page_source = driver.page_source
# 关闭浏览器
driver.quit()

# 现在用BeautifulSoup解析渲染后的源码
soup = BeautifulSoup(page_source, "lxml")
result_container = soup.find('div', {"class": "resultListContainer"})

# 提取年份和里程
if result_container:
    print("提取到的车辆信息:")
    for item in result_container.find_all('div', class_='fieldYear'):
        print(f"年份: {item.get_text(strip=True)}")
    for item in result_container.find_all('div', class_='fieldMileage'):
        print(f"里程: {item.get_text(strip=True)}")
else:
    print("未找到结果容器,可能页面结构有变化")

补充:编码问题的小技巧

如果之后还碰到乱码,可以试试用page_accueil.text代替page_accueil.content,因为requests的text属性会自动根据响应头解码内容,比直接用二进制的content更省心。不过这个只是辅助,动态渲染才是核心问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:50:58