Scrapy網絡爬蟲:6. 圖片下載與文件下載實現異同

Scrapy網絡爬蟲:6. 圖片下載與文件下載實現異同

網絡爬蟲

之前《 》和《Scrapy網絡爬蟲:5.繼承FilesPipeline實現自定義文件名》兩篇文章介紹瞭如何FilesPipeline實現文件下載和自定義文件名。圖片也是文件,所以下載圖片本質上也是下載文件,ImagesPipeline是FilePipeline的子類,使用上和FilePipeline大同小異,只是在使用的item字段和配置選項有所差別:

| | FilesPipeline | ImagePipeline |

|導入字段|scrapy.pipelines.files.FilesPipeline |scrapy.pipelines.images.ImagePipeline |

|Item字段|files_urls,files |image_urls,images |

|下載目錄|FILE_STORE |IMAGES_STROE |

ImagesPipeline在Fileline的基礎上針對圖片增加了一些特有的功能:

(1)為圖片生產縮略圖

開啟該功能只需在配置文件setting.py中設置IMAGE_THUMBS,它是一個字典,每一選項的值是縮略圖的尺寸,代碼如下:

IMAGE_THUMBS = {

"small" : (50,50),

"big" : (270,270),

}

開啟該功能後,下載一張圖片時,本地會出現3張圖片(1張原圖,2張縮略圖)。路徑如下:

${IMAGES_STROE}/full/文件名

${IMAGES_STROE}/full/small/文件名

${IMAGES_STROE}/full/big/文件名

(2)過濾尺寸過小的圖片

開啟該功能只需在配置文件setting.py中設置IMAGE_MIN_WIDTH和IMAGE_MIN_HEIGHT,它們分別指定了圖片最小的寬和高,代碼如下:

IMAGE_MIN_WIDTH = 110

IMAGE_MIN_HEIGHT = 110


分享到:


相關文章: