基于python的scrapy爬虫,关于增量爬取是怎么处理的
1个回答
2014-12-07 · 知道合伙人数码行家
关注
展开全部
您好,很高兴能帮助您
对于只是读取某几个网站更新内容的爬虫完全没必要在python代码中实现增量的功能,直接在item中增加Url字段。
item['Url'] = response.url
然后在数据端把储存url的column设置成unique。
之后在python代码中捕获数据库commit时返回的异常,忽略掉或者转入log中都可以。
网上有说支持增量的,我看了代码+实际测试,还是觉得不是增量的...
我的做法是pipeline的open_spider时读取所有item里面的url,做成一个parsed_urls的list,在rule的process_link中过滤掉这些已经下载的url,如果需要的话可以再item里面加入last_notify属性进一步扩展...
你的采纳是我前进的动力,
记得好评和采纳,答题不易,互相帮助,
对于只是读取某几个网站更新内容的爬虫完全没必要在python代码中实现增量的功能,直接在item中增加Url字段。
item['Url'] = response.url
然后在数据端把储存url的column设置成unique。
之后在python代码中捕获数据库commit时返回的异常,忽略掉或者转入log中都可以。
网上有说支持增量的,我看了代码+实际测试,还是觉得不是增量的...
我的做法是pipeline的open_spider时读取所有item里面的url,做成一个parsed_urls的list,在rule的process_link中过滤掉这些已经下载的url,如果需要的话可以再item里面加入last_notify属性进一步扩展...
你的采纳是我前进的动力,
记得好评和采纳,答题不易,互相帮助,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询