使用requests-html呈现JavaScript页面时发生IOError

brtdzjyr  于 2023-01-01  发布在  Java
关注(0)|答案(4)|浏览(104)

我尝试使用新的liberary request-html,但是当我使用render()函数解析一个javascript页面时,它总是弹出如下注解:
退出运行退出函数时出错:追溯(最近调用最后调用):
文件"C:\程序文件(x86)\Python36 - 32\lib\站点包\pyppeteer\launcher.py",第201行,位于killChrome self._cleanup_tmp_user_data_dir()文件"C:\程序文件(x86)\Python36 - 32\lib\站点包\pyppeteer\launcher.py",第130行,位于_cleanup_tmp_user_data_dir中,引发IOError("无法删除临时用户数据")操作系统错误:无法删除临时用户数据
我试着去解决这些问题,但是现在似乎没有解决的办法,所以我有点希望这里有人能帮助我。
PS:看来我不能用requests-html标签来发布,我没有足够的信誉。所以,非常抱歉。

hujrc8aj

hujrc8aj1#

我遇到了同样的问题,但在我第二次运行后似乎消失了。如果仍然出现,请尝试在完成后关闭request和/或session

session = HTMLSession()
req = session.get(url)

# do something

req.close()
session.close()
9udxz4iz

9udxz4iz2#

我通过切换到管理员模式修复了此问题。

i7uaboj4

i7uaboj43#

修改connection.py文件
打字员/connection.py
@@-41,7 +41,7 @@定义初始化(自定义,网址:字符串,循环:异步抽象事件循环,

self.connection: CDPSession
    self._connected = False
    self._ws = websockets.client.connect(
        self._url, max_size=None, loop=self._loop)
        self._url, max_size=None, loop=self._loop, ping_interval=None, ping_timeout=None)
    self._recv_fut = self._loop.create_task(self._recv_loop())
    self._closeCallback: Optional[Callable[[], None]] = None
3pvhb19x

3pvhb19x4#

通过添加以下内容修复地雷:将PYPPETEER_HOME设置为PC上的环境变量,将变量值设置为PC上的文件夹,即:'C:\工具'
变量名:吸管_主页,
变量值:C:\工具
我不得不重启系统。

相关问题