问题:
安装好pyppeteer,初次运行时可能会报如下错误
pyppeteer.errors.BrowserError: Browser closed unexpectedly:
[0924/153706.301300:ERROR:zygote_host_impl_linux.cc(89)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180
原因:
pyppeteer需要在没有沙盒arg的情况下运行
解决办法:
在middlewares.py中找到我们自定义的middlewares,并找到getbrowser方法,将self.browser = await pyppeteer.launch()改为self.browser = await pyppeteer.launch(options={'args': ['--no-sandbox']}) 问题即可解决
async def getbrowser(self):
# self.browser = await pyppeteer.launch()
self.browser = await pyppeteer.launch(options={'args': ['--no-sandbox']})
self.page = await self.browser.newPage()
# return await pyppeteer.launch()
完毕!