内容简介:今天看了下数据库中的内容,发现数据对应不上,特查了下爬虫日志,发现了Navigation Timeout Exceeded: 30000ms exceeded这个问题,原本跑着好好的程序又出现问题了。公司内所有出外网的口都是统一的,而且本地和服务器上都可以正常并快速的访问外网,另外服务器的防火墙是关了的。但是服务器上仍是有这个问题,我尝试用增加延迟,120s,240s,都是timeout。后来尝试其他网址,使用百度这种简单页面,发现居然也得好几十秒才能爬取到。当然这也证明了puppteer是可以正常工作的,
今天看了下数据库中的内容,发现数据对应不上,特查了下爬虫日志,发现了Navigation Timeout Exceeded: 30000ms exceeded这个问题,原本跑着好好的程序又出现问题了。
问题
- 自己pc上爬去没有问题。
- 服务器上爬取有问题,但是chrome是可以访问被爬网站的(服务器是window server 2008)。
- npm包也重装过。
公司内所有出外网的口都是统一的,而且本地和服务器上都可以正常并快速的访问外网,另外服务器的防火墙是关了的。但是服务器上仍是有这个问题,我尝试用增加延迟,120s,240s,都是timeout。
处理方法
后来尝试其他网址,使用百度这种简单页面,发现居然也得好几十秒才能爬取到。当然这也证明了puppteer是可以正常工作的,但是出于某种原因爬去特别慢。
故修改延时到无限大:
await page.goto(url, { timeout: 0 });
打印爬取前后时间,发现居然需要将近497秒。。。所以异常还是出现在爬取上,但是线上程序不舍定超时,这是不太现实的,毕竟有那么多内容需要爬。
所以,到底应该不是puppeteer的问题,故缩短每次执行的时间,网络问题总不会一直存在的,其他方法还没想到。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 启动elasticsearch时报java版本低错误
- 如何为「纽约时报」开发基于内容的推荐系统
- 纽约时报发文称赞 Firefox,表示这个“量子”版本值得尝试
- 纽约时报长文:硅谷的尤达—算法大师Donald Knuth
- 一个函数解决SQLServer中bigint 转 int带符号时报错问题
- Oracle dbca时报:ORA-12547: TNS:lost contact错误的解决
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。