【问题标题】:IOError happened while use requests-html to render a javascript page使用 requests-html 呈现 javascript 页面时发生 IOError
【发布时间】:2018-09-23 09:02:48
【问题描述】:

我正在尝试使用新的库 request-html。 但是当我使用 render() 函数解析一个 javascript 页面时,它总是弹出如下注释:

atexit._run_exitfuncs 中的错误:回溯(最近一次调用最后一次):
文件“C:\程序文件 (x86)\Python36-32\lib\site-packages\pyppeteer\launcher.py",第 201 行, 在 killChrome self._cleanup_tmp_user_data_dir() 文件“C:\Program Files (x86)\Python36-32\lib\site-packages\pyppeteer\launcher.py”,第 130 行, 在 _cleanup_tmp_user_data_dir raise IOError('Unable to remove Temporary User Data') OSError: Unable to remove Temporary User Data

我试图解决这些问题,但现在似乎没有解决方案。所以我有点希望这里有人可以帮助我。

PS:似乎我不能用标签发布它:requests-html,我没有足够的声誉。所以,非常抱歉。

【问题讨论】:

    标签: javascript python request render


    【解决方案1】:

    我遇到了同样的问题,但在我第二次运行后它似乎已经消失了。如果它继续发生,也许在完成后尝试关闭request 和/或session

    session = HTMLSession()
    req = session.get(url)
    
    # do something
    
    req.close()
    session.close()
    

    【讨论】:

      【解决方案2】:

      我通过切换到管理员模式解决了这个问题。

      【讨论】:

        【解决方案3】:

        修改connection.py文件

        pyppeteer/connection.py

        @@ -41,7 +41,7 @@ def init(self, url: str, loop: asyncio.AbstractEventLoop,

            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
        

        【讨论】:

          猜你喜欢
          • 2012-05-17
          • 2017-03-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-01-24
          • 2019-01-28
          • 1970-01-01
          相关资源
          最近更新 更多