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是可以读到网页信息的。

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

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

阅读 6.5k
评论 2016-06-30 提问
    2 个回答

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

    解决:

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

    原因

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

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

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

    评论 赞赏 2016-09-06