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

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

内容简介:今天看了下数据库中的内容,发现数据对应不上,特查了下爬虫日志,发现了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的问题,故缩短每次执行的时间,网络问题总不会一直存在的,其他方法还没想到。


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

查看所有标签

猜你喜欢:

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

洞察人心

洞察人心

Steve Portigal / 张振东、蒋晓、戴传庆、孙启玉 / 电子工业出版社 / 2015-10 / 65.00元

用户在哪里,有什么需求?他们为什么会选用竞争对手的产品而不是你的?从大数据中固然能得出一些结论,但是要搞清楚作为地球上顶级复杂生物的人的真实想法,还是走近他们,面对面访谈更直接有效。 用户访谈是一项技能,与一般的交谈有本质上的区别,需要遵从一定的步骤和方法。优秀的采访者用最自然的方式和用户进行交流,看似不经意,而实际上该说什么、何时说、如何说以及什么时候应该沉默,都有精准的权衡,都试图在闲聊......一起来看看 《洞察人心》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具