puppeteer抓取网站时报Navigation Timeout Exceeded: 30000ms exceeded问题

栏目: Node.js · 发布时间: 6年前

内容简介:今天看了下数据库中的内容,发现数据对应不上,特查了下爬虫日志,发现了Navigation Timeout Exceeded: 30000ms exceeded这个问题,原本跑着好好的程序又出现问题了。公司内所有出外网的口都是统一的,而且本地和服务器上都可以正常并快速的访问外网,另外服务器的防火墙是关了的。但是服务器上仍是有这个问题,我尝试用增加延迟,120s,240s,都是timeout。后来尝试其他网址,使用百度这种简单页面,发现居然也得好几十秒才能爬取到。当然这也证明了puppteer是可以正常工作的,

今天看了下数据库中的内容,发现数据对应不上,特查了下爬虫日志,发现了Navigation Timeout Exceeded: 30000ms exceeded这个问题,原本跑着好好的程序又出现问题了。

问题

  1. 自己pc上爬去没有问题。
  2. 服务器上爬取有问题,但是chrome是可以访问被爬网站的(服务器是window server 2008)。
  3. npm包也重装过。

公司内所有出外网的口都是统一的,而且本地和服务器上都可以正常并快速的访问外网,另外服务器的防火墙是关了的。但是服务器上仍是有这个问题,我尝试用增加延迟,120s,240s,都是timeout。

处理方法

后来尝试其他网址,使用百度这种简单页面,发现居然也得好几十秒才能爬取到。当然这也证明了puppteer是可以正常工作的,但是出于某种原因爬去特别慢。

故修改延时到无限大:

await page.goto(url, {
    timeout: 0
});

打印爬取前后时间,发现居然需要将近497秒。。。所以异常还是出现在爬取上,但是线上程序不舍定超时,这是不太现实的,毕竟有那么多内容需要爬。

所以,到底应该不是puppeteer的问题,故缩短每次执行的时间,网络问题总不会一直存在的,其他方法还没想到。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算机程序设计艺术

计算机程序设计艺术

Donald E. Knuth / 李伯民、范明、蒋爱军 / 人民邮电出版社 / 2016-1-1 / 198

《计算机程序设计艺术》系列是公认的计算机科学领域经典之作,深入阐述了程序设计理论,对计算机领域的发展有着极为深远的影响。本书是该系列的第 1 卷,讲解基本算法,其中包含了其他各卷都需用到的基本内容。本卷从基本概念开始,然后讲述信息结构,并辅以大量的习题及答案。一起来看看 《计算机程序设计艺术》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具