requests_html render() 抛出 OSError: [WinError 14001]

问题描述 投票:0回答:2

您好,我正在尝试使用 python 模块 requests-html 进行网页抓取,以处理页面上的动态内容https://www.monster.com/jobs/search?q=Software+Engineer&where=。我的代码是:

from requests_html import HTMLSession
url = 'https://www.monster.com/jobs/search?q=Software+Engineer&where='
session = HTMLSession()
response = session.get(url)
response.html.render() 

但是当我运行 response.html.render() 时,我收到此错误

OSError: [WinError 14001] The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail

我第一次运行 render() 时得到了

[W:pyppeteer.chromium_downloader] start chromium download.
Download may take a few minutes.
[W:pyppeteer.chromium_downloader]
chromium download done.
[W:pyppeteer.chromium_downloader] chromium extracted to: C:\Users\user\AppData\Local\pyppeteer\pyppeteer\local-chromium\588429

但是文件路径不存在,但 pyppeteer 实际上是一个已安装的包(pyppeteer==0.2.5)。有人知道发生了什么事吗?

web-scraping python-requests-html
2个回答
1
投票

您遇到此问题是因为 chromium 设置失败。

您可以尝试重新安装request_html,或者我所做的是将python从Windows商店切换到从python网站下载,然后再次安装request_html。

使用下载的 python 正确设置所有内容后,我从商店切换回 python 3.9,一切仍然正常工作。


0
投票

一个简单的解决方案可能是复制 Chrome 安装的内容

C:\Program Files\Google\Chrome\Application

进入 request_html 库正在寻找的目录

C:\Users\<user name>\AppData\Local\pyppeteer\pyppeteer\local-chromium\<version number>\chrome-win

一定要检查requests_html正在寻找的版本号。在我的例子中,它是 1181205,这是我通过查看 pyppeteer 库的 chromium_downloader.py 和 launcher.py 文件找到的。我必须手动创建版本号目录,因为 Pyppeteer 没有为我做这件事。

© www.soinside.com 2019 - 2024. All rights reserved.