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

requests-html下载Chromium时报NoSuchKey错误,如何解决?

问题根源

requests-html 默认要下载的 Chromium 版本(1181205)已被谷歌快照仓库移除,导致下载失败,更换不同版本的 requests-html 也可能碰到相同问题——旧版 Chromium 快照会被定期清理。

解决办法

1. 调用本地已安装的 Chrome/Edge 浏览器

直接用电脑上已有的 Chrome 或 Edge 代替自动下载的 Chromium,无需额外下载文件,修改代码如下:

import requests
from bs4 import BeautifulSoup
from requests_html import HTMLSession

url = "https://dmarket.com/ingame-items/item-list/csgo-skins?title=recoil%20case"
# 示例:指定本地Chrome路径(替换成你自己的安装路径)
session = HTMLSession(
    browser_args=["--no-sandbox", "--disable-dev-shm-usage"],
    executable_path="C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
)
# 如果是Edge,路径一般是:
# executable_path="C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe"

response = session.get(url)
response.html.render()
soup = BeautifulSoup(response.html.html, features="html.parser")
print(soup)

2. 手动指定可用的 Chromium 版本

如果一定要用 requests-html 自带的 Chromium,先找一个仍存在的 Windows x64 版本号(可通过 Chromium 快照仓库查询),然后通过环境变量指定版本:
打开命令提示符执行:

set PYPPETEER_CHROMIUM_REVISION=1283080

执行完后再运行你的 Python 代码,程序会自动下载指定版本的 Chromium。

3. 替换为更稳定的 Selenium 库

requests-html 维护活跃度低,版本兼容问题频发,换成 Selenium 更可靠,代码示例:

from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

url = "https://dmarket.com/ingame-items/item-list/csgo-skins?title=recoil%20case"

# 自动匹配并安装对应版本的ChromeDriver
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get(url)

soup = BeautifulSoup(driver.page_source, features="html.parser")
print(soup)

driver.quit()

先安装依赖包:

pip install selenium webdriver-manager beautifulsoup4

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 10:32:23