美文网首页爬虫专辑
六、图片的下载

六、图片的下载

作者: 阿轲666 | 来源:发表于2017-06-12 09:13 被阅读0次

一、实现scrapy 自动下载图片到本地的功能,通过项目管道设置。

首先要在setting中搭建pipeline的管道名称

ITEM_PIPELINES= {

'mm.pipelines.MmPipeline':300,

'scrapy.pipelines.images.ImagesPipeline':1,

}

管道队伍添加了新成员!后面的数字代表处理顺序,数字越小处理越早。

setting中还要做如下配置:

#用于保存图片

IMAGES_URLS_FIELD ="front_image_url"#对应上面标号1,这个配置好了,image就是去item找front_这个字段

project_dir=os.path.abspath(os.path.dirname(__file__))

IMAGES_STORE = os.path.join(project_dir,'images')#设置图片保存的路径,配置相对路径,换电脑也没事,在articlespider下面新建一个image的文件夹

解释下:

1、在setting 文件中ITEM_PIPELINE添加: 'scrapy.pipelines.images.ImagesPipeline':1

1为处理顺序,顺序越小,越先处理;

2、继续在setting中添加图片URL地址获取,

IMAGES_URLS_FIELD = "front_image_url"    #front_image_url为Item 中存储图片URL的字段,应该为list类型;所以我们应将前面存入Item时设置为list

3、设置图片下载到本地的路径

绝对路径:IMAGES_STORE = ""

相对路径: 多用相对路径,工程迁移后绝对路径不能使用了

创建一个images的文件夹。

跟setting放在同一个目录之下。

别忘了setting中添加os模块

二、运行main.py可见 在项目文件下新生成了images文件,并下载了图片,自动生成了图片名字

三、扩展功能: 对图片进行过滤:

在setting 文件中设置:

IMAGES_MIN_HEIGHT = 100

IMAGES_MIN_WIDTH = 100

过滤掉宽度高度小于100的图片

四、pipeline中配置image

思路:自定义pipline,多加个管道,该管道继承下载图片的类,并重写与Item 交互的方法,从众提取到本地路径,并返回这个Item交给下一个pipline管道。获取文件存放的路径,设置下载图片的大小。

原来的scrapy.pipelines.images.ImagesPipeline':1,

这一步已经可以解决图片下载问题了,但是如果你想要图片下载的高度的定制化,就需要做如下的配置。这就解释了我已经有了图片下载的通道为什么还要再一遍pipeline

打断点进行测试,可以看到,图片的路径已经填充进来了。

下一步我们就要跟数据库打交道了。mysql发挥用处

相关文章

  • 六、图片的下载

    一、实现scrapy 自动下载图片到本地的功能,通过项目管道设置。 首先要在setting中搭建pipeline的...

  • 唯美主图背景

    以下素材均来自六图网:;下载源文件可访问六图网,通过搜索框中选择图片编号,输入图片编号搜索即可找到原图片,下载源文...

  • 六图网 设计图片库,矢量素材,psd素材图片网!

    六图网提供括:图库、图片、摄影、设计、矢量、PSD、AI、CDR、EPS、图片下载、共享图库,等等。六图网网页面简...

  • 六. 项目实战:下载360图片

    爬取网址:http://image.so.com/爬取信息:爬取图片爬取方式:scrapy框架存储方式:Image...

  • 下载图片

  • 下载图片

    { UIImageView *vi; } { [super viewDidLoad]; //设置按钮 UIButt...

  • 下载图片

    web端遇到图片下载不成功时,可能引起的原因:(即产品设计替换图片时要考虑) 1.图片格式不符合代码要求(格式规定...

  • 下载图片

    requests库 urllib库

  • 下载图片

  • 下载图片

    前端下载图片 分为两大类:一是服务端配合实现(即下载后台服务提供的资源); 二是 纯前端下载 当直接访问的某个文件...

网友评论

    本文标题:六、图片的下载

    本文链接:https://www.haomeiwen.com/subject/eyakqxtx.html