scrapy采集的图片如何保存在不同的文件夹?
有时候爬虫爬到不同内容的图片,例如头像一类,动态内容的图片又是一类,如何能在scrapy下载的时候分开文件夹存储?
找到修改图片名存储的方法,参考:https://segmentfault.com/q/10...
但是这个方法只能修改图片名去存储,没法改变路径。
即使我在file_path方法中强制多加一个/a/的路径,也不行。这样,根本就没图像下载,打开Pic文件夹,空空如也。
请问如何修改图片保存的路径呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不用在
process_item
里写,这个函数还是用来干过滤比较合适。你重写
file_path
的做法没错,因为file_path
只返回一个字符串,后续的处理还在ImagesPipeline类的其他函数里。同时要配合get_media_requests
传递meta
,不然拿不到item
的,请参考:我猜你出问题的地方还有
setting.py
里没写对自定义的类名,这样的话scrapy
还是在用默认的pipeline
在跑,你再怎么改也一样,注意一下下面这两个地方吧,都要设定的。setting中修改配置了吗,这是我自己写的一个方法,你可以参考下
image_urls是图片的地址,
img_postfix是图片的后缀,默认是jpg,
name是图片的名字
filepath是图片的存储路径
header就是他的请求的的header,有的可能需要
主要在pipelines文件中使用shutil.move()函数移动文件到你指定的目录下
参考这个:
https://www.jianshu.com/p/0ea...