问题描述
from requests_html import HTMLSession()
session = HTMLSession()
response = session.get(url)
response.html.render() # <- causes error
page_soup = soup(response.html.html,"html.parser")
response.close()
我正在尝试用 JS 解析网站。独立于我尝试呈现的网站,我在 Ubuntu 上遇到以下错误:
Traceback (most recent call last):
File "<stdin>",line 1,in <module>
File "/home/project1/project1_venv/lib/python3.8/site-packages/requests_html.py",line 586,in render
self.browser = self.session.browser # Automatically create a event loop and browser
File "/home/project1/project1_venv/lib/python3.8/site-packages/requests_html.py",line 730,in browser
self._browser = self.loop.run_until_complete(super().browser)
File "/usr/lib/python3.8/asyncio/base_events.py",line 616,in run_until_complete
return future.result()
File "/home/project1/project1_venv/lib/python3.8/site-packages/requests_html.py",line 714,in browser
self._browser = await pyppeteer.launch(ignoreHTTPSErrors=not(self.verify),headless=True,args=self.__browser_args)
File "/home/project1/project1_venv/lib/python3.8/site-packages/pyppeteer/launcher.py",line 306,in launch
return await Launcher(options,**kwargs).launch()
File "/home/project1/project1_venv/lib/python3.8/site-packages/pyppeteer/launcher.py",line 167,in launch
self.browserWSEndpoint = get_ws_endpoint(self.url)
File "/home/project1/project1_venv/lib/python3.8/site-packages/pyppeteer/launcher.py",line 226,in get_ws_endpoint
raise browserError('browser closed unexpectedly:\n')
pyppeteer.errors.browserError: browser closed unexpectedly:
当我在装有 Windows 10 的本地计算机上运行相同的代码时,一切正常。
在两种环境中使用相同版本的库:
requests-html==0.10.0
但在 Windows 上我有 Python 3.7.2 和 Linux 服务器 Python 3.8.6。它的问题?在这两种环境中,我都使用 venvs。
我已经在 Ubuntu 上安装了 Chromium。
解决方法
我在 Windows 上工作正常时遇到同样的问题,而在 Ubuntu 上显示 render() 错误
当我从 Windows 上的代码中删除它时,页面无法正确加载并显示错误
在 ubuntu 上运行正常。我认为在 ubuntu 上不需要包含 render()。
从代码中删除 render() 并尝试它。
希望它会奏效。
谢谢!
,我遇到了同样的问题。我在以下位置找到了帮助我的解决方案:https://techoverflow.net/2020/09/29/how-to-fix-pyppeteer-pyppeteer-errors-browsererror-browser-closed-unexpectedly/。我执行了以下命令:
apt install -y gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
不是没有任何问题。