scrapy爬取图片

scrapy爬取图片,但是文件夹里面的图片只有一部分图片

#保存图片
class imgsPipeline(ImagesPipeline):

#该方法可以根据图片地址进行图片数据的请求
def get_media_requests(self, item, info):
    yield scrapy.Request(item['q_logo'])
    print(item['q_logo'])

#指定图片存储的路径
def file_path(self, request, response=None, info=None, *, item=None):
    imgname=item['q_name']+'.jpg'
    print('a')
    return imgname

def item_completed(self, results, item, info):
    return item   #返回即将被下一个执行的管道类
运行结果及报错内容

输出的结果为:好几个q_logo 后面接一个a’
报错到是没有报错 ,但是爬取到文件夹里面的图片数量却是很少

img

我的解答思路和尝试过的方法

我以为输出的内容应该是一个q_logo 也就是一个图片的src输出之后后面应该紧接输出‘a’
据我所观察咩输出一个‘a‘文件里面就会多一个图片

我想要达到的结果

输出的内容为一个q_logo 后面接一个‘a-’
以保证爬取来的图片数量是正确的

看看你是在哪儿调用的这两个函数啊

scrapy是异步的不是同步的,所以没办法确定打印输出的先后顺序,而且图片采集多少跟你的打印输出顺序没有关系;
你需要做的是检查一下定位图片的代码位置,比如xpath规则,看是否漏掉了一些图片