#保存图片
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’
报错到是没有报错 ,但是爬取到文件夹里面的图片数量却是很少
我以为输出的内容应该是一个q_logo 也就是一个图片的src输出之后后面应该紧接输出‘a’
据我所观察咩输出一个‘a‘文件里面就会多一个图片
输出的内容为一个q_logo 后面接一个‘a-’
以保证爬取来的图片数量是正确的
看看你是在哪儿调用的这两个函数啊
scrapy是异步的不是同步的,所以没办法确定打印输出的先后顺序,而且图片采集多少跟你的打印输出顺序没有关系;
你需要做的是检查一下定位图片的代码位置,比如xpath规则,看是否漏掉了一些图片