scrapy(Python):ImagesPipeline
发布时间
阅读量:
阅读量
功能:只需从原始网页中提取img标签的src属性值,将其封装至item对象中,并传递至管道。管道会自动针对该src发起请求,获取图片的二进制内容,并完成数据的存储操作。
流程:
- 在爬虫文件中解析图片的src属性,将其封装到item对象内,并将item提交至管道
- 在pipelines.py文件中定义一个新的管道类(需删除原有管道类),该类需继承自ImagesPipeline
在新定义的管道类中需重写三个方法:
a. get_media_requests(self, item, info) 用于根据src发起网络请求
b. file_path(self, request, response=None, info=None) 用于生成图片文件名称(此名称将作为图片存储路径的一部分)
c. item_completed(self, results, item, info) 用于将处理完成的item传递给后续即将执行的管道
settings.py中添加 IMAGES_STORE = 'XXX' 比如你上一步b中返回的名字是wyb.jpg,那么你这张照片在本地最终的存储位置就是xxx/wyb.jpg
如果第二步中你自定义的管道类与之前的管道类的名字不一样,那么还需要在settings.py中把管道的名字改成你自定义的那个
全部评论 (0)
还没有任何评论哟~
