图片数据爬取:ImagePipeline
基于scrapy爬取字符串类型的数据和爬取图片类型的数据区别:
- 字符串:只需基于xpath解析出并提交给管道进行持久化存储。
- 图片:xpath解析出图片src的属性值,单独的对图片地址进行请求,然后获取图片二进制类型的数据。
ImagePipeline:
只需将img的src属性值进行解析,提交到管道,管道就会对图片的src进行请求发送获取图片的二进制数据,并进行持久化存储。
注意:在解析图片src属性时,注意伪属性。
使用流程:
- 数据解析(图片的地址)
- 将存储的图片的地址的item提交到制定的管道类中
- 在管道文件中定制一个基于ImagesPipeline的一个管道类,即继承ImagesPipeline:然后定义方法
(1)get_media_request
(2)file_path
(3)item_completed - 在配置文件中:
(1)指定图片存储的目录:IMAGES_STORE = ‘./imgs’
(2)指定开启