之前《 》和《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
閱讀更多 初沏的茶 的文章