Scrapy获取图片的基本应用

By | June 1, 2016

Scrapy版本:1.0.5

通过自定义的images pipeline下载图片,并在保存图片之前更改其文件名。Scrapy 下载图片需要在item添加一个字段,此字段是个列表,列表保存着若干个目标图片的远程 URL,该字段默认是 image_urls ,可以自定义。

(只要是本文涉及到的文件系统路径不明确地指定,根目录就是 Scrapy 项目的根目录。)

基本步骤如下:

  1. 编辑 items.py 文件,在适当的 item 字段中添加 image_urls 字段:
  2. 编辑 pipeline.py 文件,添加image pipeline类。该自定义类继承自ImagesPipeline类,重载了ImagesPipeline类的self.file_pathself.get_media_requestsself.item_completed三个方法。其中:
    • self.get_media_requests在下载图片之前调用,返回一个发送到每个图片 URL (即在Item字段image_urls列表中的URL)的请求。

    • self.item_completed在每一次图片下载完成后或者下载出了问题时调用,在该方法中可以抛出错误,也可以抛弃此次 item ,返回 item 供后续的 pipeline 使用(根据配置文件的设置决定先后顺序)。

    • self.file_path方法用于更改图片的保存路径和文件名,返回文件路径。

    关于这些方法的参数和介绍请见:

    官方文档:

    http://doc.scrapy.org/en/1.0/topics/media-pipeline.htmlScrapy

  3. 启用pipeline:

参考资料: http://doc.scrapy.org/en/1.0/topics/media-pipeline.html


© 2016 – 2018, Navin. All rights reserved.

鉴于本人的相关知识储备以及能力有限,本博客的观点或者描述如有错漏或是有考虑不周到的地方还请多多包涵,也欢迎指正,一起学习,共同进步。

0