亚马逊爬虫修改UserAgent后出现No browsers version found for Chrome错误求助
解决亚马逊爬虫的UserAgent错误及浏览器版本检测问题
问题梳理
- 初始报错:
Maximum amount of retry reached,调整UserAgent配置后出现新错误:No browsers version found for Chrome - 错误触发点:
util.py中的代码会尝试搜索本地浏览器版本,但找不到chromedriver.exe,逻辑和Selenium依赖浏览器驱动类似 - 额外猜测:怀疑
requests库的get方法因浏览器检测失败无法正常发起请求
可行解决方案
1. 跳过本地浏览器检测,直接用随机UserAgent
你用的是requests库而非Selenium,完全不需要依赖本地Chrome或chromedriver,直接改用随机生成的UserAgent即可,修改代码如下:
from fake_useragent import UserAgent # 初始化UserAgent,关闭本地浏览器检测相关逻辑 ua = UserAgent(use_cache_server=False, verify_ssl=False) header = { 'User-Agent': ua.random, # 直接使用随机UA,无需指定Chrome 'Accept-Language': 'en-US,en;q=0.9' }
这样就能避开util.py里的浏览器版本搜索流程,解决找不到Chrome的错误。
2. 手动指定Chrome的UserAgent字符串
如果一定要用Chrome风格的UA,直接写死一个有效的UA字符串,不用依赖库自动获取:
header = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36', 'Accept-Language': 'en-US,en;q=0.9' }
可以从公开渠道获取最新的Chrome UA,或者用ua.random生成后复制固定使用。
3. 修复浏览器检测逻辑(不推荐)
如果非要保留原代码的浏览器检测逻辑,需要:
- 下载与本地Chrome版本匹配的
chromedriver.exe,放到Python可执行路径或系统环境变量目录中 - 确保本地已安装Chrome浏览器,且驱动版本和浏览器版本一致
但这种方法完全没必要,因为requests本身不需要浏览器驱动,属于多余的依赖配置。
反爬额外提示
亚马逊反爬机制严格,除了UserAgent,还需注意:
- 补充
Referer、Cookie等请求头字段 - 控制请求频率,避免短时间内大量发起请求
- 使用代理IP分散请求来源
内容的提问来源于stack exchange,提问作者xlmaster
相关产品推荐
相关产品推荐

