我正在使用python BeautifulSoup4使用chrome驱动程序83抓取网站屏幕截图。 为此,我创建了一个python文件,并从Symfony PHP代码执行了该文件。 然后,为了简化起见,我将其作为命令。
所以我只需要运行命令/bin/console crawl
,然后它就会运行python文件来抓取网站屏幕截图。我将代码上传到Digital Ocean Ubuntu服务器,并从终端手动检查了该命令是否正常工作。
就像这样-/var/www/myproject/bin/console crawl
,然后它会正确地爬网给定的网站。
问题是我需要定期运行此搜寻器,因此为此进行了cronjob。
0 * * * * /var/ww/myproject/bin/console crawl
然后这噩梦开始了-我在错误日志中收到此错误。
Message: unknown error: failed to start a thread for the new session.
Message: Service /usr/bin/chromedriver unexpectedly exited. Status code was -5
我试图在Google上找到解决方案,但是我找不到状态代码-5
的含义。
有人知道为什么会发生此错误吗?
谢谢。
仅供参考,我尝试在后台运行Xvfb并设置DISPLAY
参数。
nohup Xvfb :99
export DISPLAY=:99
原因/另一个问题
我在这个问题上苦苦挣扎了超过2天,终于找到了解决方案。 问题是由于网站搜寻器的CPU使用率很高。
我将cron作业设置为过于频繁地运行爬网,而CPU无法处理它。 我降低了频率,它现在可以正常工作。
我现在很好奇的是,是否有一种方法可以减少BS搜寻器的CPU使用率。