首页 > 其他 > 详细

scrapy 错误2 ,不能分开提取不同的item值,并且item值不能为空

时间:2020-12-12 23:37:14      阅读:39      评论:0      收藏:0      [点我收藏+]

例子:


yield {
‘IP‘: ‘‘,
‘port‘: ‘‘,
‘imgname‘: b,
‘imgurl‘: links,}
 

我是为了爬取图片,就把另两个item为空,并且在pipelines 中设置:

 

def process_item(self, item, spider):
        if item[IP] != ‘‘:
            #自己代码
return item else: return item

这样就能下载图片,不影响,原因:

def process_item(self, item, spider):

这个项必须要赋值不能为空。
另外:
yield {
‘imgname‘: ‘‘,
‘imgurl‘: ‘‘,
‘IP‘: c,
‘port‘: port,}

不能和上面的同时爬取,这样爬取不到东西。 所以不爬取图片时,就去setting里把下载管道 #掉。

为了同时爬取互不影响。就不要提取数据管道。直接在 spiders 里的 主py里提取数据到文件夹,管道里只放图片和下载文件item,这样即使没图片item或者
没文件item 没影响,可以爬取文字看到图片就爬,看到文件就爬,没有就不爬,不会出错。就是麻烦,爬取的连接多时,速度慢,代码增多。


scrapy 错误2 ,不能分开提取不同的item值,并且item值不能为空

原文:https://www.cnblogs.com/aotumandaren/p/14127098.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!