您的位置:首页 > 其它

scrapy爬虫之Image Pipeline

2016-02-19 10:29 411 查看

使用媒体管道(Media Pipleline)

使用媒体通道,必须在项目的settings.py文件中,设置:
对于Images Pipeline,设置为
ITEM_PIPELINES = {'scrapy.pipelines.images.ImagesPipeline': 1}

对于Files Pipeline,设置为
ITEM_PIPELINES = {'scrapy.pipelines.files.FilesPipeline': 1}

【注意:我们可同时使用Images Pipeline和Files Pipeline】

确保一个有效的保存下载的文件或者图片的路径,否则即使设置了ITEM_PIPELINES,也不可用。

对于Images Pipeline,设置IMAGES_STORE:

IMAGES_STORE = '/path/to/valid/dir'
对于Files Pipeline,设置FILES_STORE:
FILES_STORE = '/path/to/valid/dir'

支持的存储

其他的特征

生成图片缩略图

Images Pipeline能为下载的图片自动生成缩略图,为了使用这个特性。我们必须设置字典类型IMAGE_THUMBS,
例如:
IMAGES_THUMBS = {
'small':(50,50),
'big':(270,270),
}
当用这个特性时,Images Pipeline将用规定的每一种尺寸生成缩率图,格式如下:
<IMAGES_STORE>/thumbs/<size_name>/<image_id>.jpg
这里:
<IMAGES_STORE>是指在settings 文件中设置的IMAGES_STORE 路径

<size_name>是指IMAGES_THUMBS的字典的键值
<image_id>是image url的SHA1 hash
例如:
<IMAGES_STORE>/full/63bbfea82b8880ed33cdb762aa11fab722a90a24.jpg

<IMAGES_STORE>/thumbs/small/63bbfea82b8880ed33cdb762aa11fab722a90a24.jpg

<IMAGES_STORE>/thumbs/big/63bbfea82b8880ed33cdb762aa11fab722a90a24.jpg

过滤小图片

当我们用Images Pipeline时,通过声明可允许的最小尺寸(设置IMAGES_MIN_HEIGHT和
IMAGES_MIN_WIDTH),过滤太小的图片。
例如:
IMAGE_MIN_HEIGHT = 110
IMAGE_MIN_WIDTH = 110
注意:这些尺寸的限制不会影响缩略图生成
默认情况下,没有限制,所有的图片都会被处理。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  爬虫 图片 scrapy