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

Python中BeautifulSoup爬取NVIDIA驱动版本为何输出异常?

问题原因与解决办法

问题根源

你用requests获取的是页面的原始静态HTML,而NVIDIA驱动页面的版本号是通过JavaScript动态渲染生成的。原始HTML中仅包含占位符~ddVersion_td~,并没有真实的版本数据,所以BeautifulSoup无法提取到你预期的版本号。

解决方法

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

Selenium会启动真实浏览器并执行页面的JavaScript,能获取到渲染后的完整内容:

  1. 先安装依赖:
pip install selenium
  1. 下载对应浏览器的驱动(比如ChromeDriver,需与Chrome版本匹配),确保驱动路径在系统环境变量中,或在代码里指定路径。
  2. 修改后的代码:
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 = "https://www.nvidia.com/en-us/drivers/"
# 若驱动不在环境变量,可指定路径:webdriver.Chrome(executable_path="path/to/chromedriver")
driver = webdriver.Chrome()
driver.get(url)

# 等待版本元素加载完成,最多等待10秒
version_element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.CLASS_NAME, "version"))
)
version_number = version_element.text
print(f"Defined version number: {version_number}")

expected_version = "572.83"
if version_number != expected_version:
    print(f"Warning: Incorrect version ({version_number}) found instead of {expected_version}")

# 关闭浏览器
driver.quit()

方法2:直接调用页面的API接口(更高效)

通过浏览器开发者工具(F12 → Network标签)观察页面加载时的XHR请求,能找到NVIDIA用来获取驱动版本数据的API接口。直接请求这个API可以避免模拟浏览器,效率更高:

import requests
from bs4 import BeautifulSoup

# 替换为你抓包找到的真实API地址
api_url = "https://www.nvidia.com/content/DriverDownload-March2009/confirmation.php?url=/Windows/572.83/572.83-desktop-win10-win11-64bit-international-dch-whql.exe&lang=en-us&type=GeForceRTX30Series"
response = requests.get(api_url)
# 根据API返回的格式解析版本号(示例,需根据实际返回调整)
soup = BeautifulSoup(response.content, "html.parser")
version_number = soup.find("span", class_="driver-version").text

print(f"Defined version number: {version_number}")
expected_version = "572.83"
if version_number != expected_version:
    print(f"Warning: Incorrect version ({version_number}) found instead of {expected_version}")

注:API地址可能随NVIDIA网站更新变化,需要定期检查确认。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 09:22:18