python爬虫 - crawl 连接网页超时,HTTP 599

查看:455
本文介绍了python爬虫 - crawl 连接网页超时,HTTP 599的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

unbuntu , pyspider

抓的是某宝的商品详情页,出现问题,始终连接不上。 上一级,商品的列表页,没有问题,也是使用了js的。

错误提示信息:[E 160630 14:21:42 base_handler:195] HTTP 599: Operation timed out after 120001 milliseconds with 0 bytes receive -- 加了 fetch_type='js'时

[E 160630 14:45:33 base_handler:195] HTTP 599: Failed to connect to item.taobao.com port 443: Connection timed out -- 没有fetch_type='js'时

都算是没连上网站,而用urllib2的urlopen是可以读到网页信息的。

有一条比较可疑的提示,但是我不会解释。。

在其他电商网站有成功过了,逻辑都差不多。但这边就是不行。
因为不懂的点有些多,问题都有点找不到,如果您有思路的话,可否指点一下 :)

解决方案

我也碰到过一样的问题,先抛出解决方法;

解决:

        self.crawl('xxxxx',
                   callback=self.list_page,
                   fetch_type = 'js',
                   connect_timeout = 50,
                   timeout = 200
                   )

原因

  1. 最可能的是网速问题(在公司爬取出现问题,在家里没出现 —— 100M 光纤);

  2. 爬取的网页中图片等较多,加载速度偏慢;

  3. pyspider 默认的连接时间为 20, 抓取时间为 120。
    配置参数,增大时间限制

这篇关于python爬虫 - crawl 连接网页超时,HTTP 599的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆