Python-Selenium搜寻器冻结,尤其是在无头模式下(不可重现的错误)

时间:2019-05-21 22:57:03

标签: python selenium web-scraping web-crawler headless

我构建了一个爬网程序,该爬网程序获取用户输入的产品列表的产品信息。有时,爬虫会冻结,尤其是在产品列表很长且爬虫以无头模式运行时。

该错误似乎是随机的,并且不可复制,这使我认为该错误是由所爬网网站的资源利用率引起的。

由于这是不可复制的错误,因此我认为无法修复,但是有没有办法检测到爬虫已冻结并重试?

以下是有关抓取工具和错误的一些信息:

  • 搜寻器是使用Selenium和Python构建的。

  • 该错误发生在不同的网站和产品上。

  • 该错误发生在“正常”模式下,但更常见于无头模式。

谢谢!

魔咒

1 个答案:

答案 0 :(得分:0)

如果问题与浏览器无关,那是因为代码正忙于以无头模式获取数据。如果您的代码在正常模式下而不是无头模式下工作,那么您只会看到工作部分。

我假设您制作了一个GUI。如果是这样,则您正在尝试访问GUI,但该程序仍在进行爬网。这就是GUI冻结的原因。

您可以通过使用线程库或任何其他多处理方法来解决此问题。这将允许您同时运行多个进程。因此,您可以在GUI上自由使用其他功能并在不冻结的情况下爬网网站。