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
注意:这些尺寸的限制不会影响缩略图生成
默认情况下,没有限制,所有的图片都会被处理。
相关文章推荐
- Python3写爬虫(四)多线程实现数据爬取
- install and upgrade scrapy
- install scrapy with pip and easy_install
- Scrapy的架构介绍
- 爬虫笔记
- 按右键另存图片只能存BMP
- photoshop去除图片上的水印
- upload上传单张图片
- 图片引发的溢出危机(图)
- C#实现把彩色图片灰度化代码分享
- C#将图片和字节流互相转换并显示到页面上
- C#监控文件夹并自动给图片文件打水印的方法
- 纯CSS实现的当鼠标移上图片添加阴影效果代码
- 如何使用C#从word文档中提取图片
- C#实现打开画图的同时载入图片、最大化显示画图窗体的方法
- C#图片添加水印的实现代码
- 随鼠标移动的图片或文字特效代码
- CSS 图片横向排列实现代码
- C#实现将Email地址转成图片显示的方法