码迷,mamicode.com
首页 > 其他好文 > 详细

使用Scrapy编写爬虫程序中遇到的问题及解决方案记录

时间:2018-09-05 13:59:39      阅读:316      评论:0      收藏:0      [点我收藏+]

标签:rap   效率   res   style   重试   comm   原因   color   判断   

1、创建与域名不一致的Request时,请求会报错

解决方法:创建时Request时加上参数dont_filter=True

2、当遇到爬取失败(对方反爬检测或网络问题等)时,重试,做法为在解析response时判断response特征,失败时yield Request(response.url),但是重试并没有发出去请求。

解决方法:原因时Scrapy的机制对于已经发送过的同url的request并不会再次发送,所以需要在构造Request加上参数dont_filter=True

3、解析到数据再pipelines中入库时,由于部分字段按预设的规则可能爬取不到,这时插库的sql会报错

解决方法:如果挨个字段判断的话太冗长了,所以这里选择用异常捕获的方式,放弃这部分数据而让爬虫顺利的执行下去

4、在爬取商品列表数据时,正则findall的方式,当其中某个商品假设其缺少了comment字段,在入库时就会导致顺序对应错乱

解决方法:使用Json解析的方法应该可以处理这个问题,但是用于Json解析效率太低,所以这里没处理

dont_filter=True

使用Scrapy编写爬虫程序中遇到的问题及解决方案记录

标签:rap   效率   res   style   重试   comm   原因   color   判断   

原文地址:https://www.cnblogs.com/duanzi6/p/9591480.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!