Scrapy实战-下载豆瓣图书封面

简介: 紧接着再识Scrapy-爬取豆瓣图书,我们打算把每一本图书的封面都爬下来,毕竟下载图片是一件很棒的事。可以凭借这招去搜集各种表情包呢,还可以省了在某榴辛辛苦苦一个一个打开网页的烦恼呢。

紧接着再识Scrapy-爬取豆瓣图书,我们打算把每一本图书的封面都爬下来,毕竟下载图片是一件很棒的事。可以凭借这招去搜集各种表情包呢,还可以省了在某榴辛辛苦苦一个一个打开网页的烦恼呢。
根据官方文档,下载图片其实pipeline.py的额外工作而已,大致分为以下几步

  1. 在Spider中,额外定义一个image_urls用来存放图片链接的 item;
  2. 这个item会从spider中传递到pipeline中
  3. 在这个item到了ImagesPipeline后,里面的url经由scheduler插队到downloader进行下载
  4. 下载完成后,Scrapy会新建一个files字段用于存放结果。
  5. 需要额外安装PIL保证正常工作。

使用方法

  1. 在settings.py的ITEM_PIPELINES中加入
    'scrapy.pipelines.images.ImagesPipeline':1,

  2. 在items.py中建立相应的item.
    import scrapy
    class MyItem(scrapy.Item):
    # ... 其他字段 ...
    image_urls = scrapy.Field()
    images = scrapy.Field()

  3. 在settings.py中添加图片存放目录,如
    IMAGES_STORE = 'G:/images'

  4. (非必须)假设你觉得image_urls和images不够霸气,想换个名字,如douban_urls,douban你可以在settings.py中增加如下字段,用来声明新的字段:
    IMAGES_URLS_FIELD = ‘douban_urls'
    IMAGES_RESULT_FIELD = 'douban'

文件命名格式为:下载图片url的SHA1 hash值,不喜欢的话可以看这里进行深入研究,反正我就看图,凑合用了。

目录
相关文章
|
5月前
|
存储 前端开发 机器人
Python网络数据抓取(6):Scrapy 实战
Python网络数据抓取(6):Scrapy 实战
54 2
|
2月前
|
存储 数据采集 中间件
scrapy实战2586个小姐姐带回家
scrapy实战2586个小姐姐带回家
42 3
scrapy实战2586个小姐姐带回家
|
12月前
|
数据采集 存储 中间件
Amazon图片下载器:利用Scrapy库完成图像下载任务
本文介绍了如何使用Python的Scrapy库编写一个简单的爬虫程序,实现从Amazon网站下载商品图片的功能。Scrapy是一个强大的爬虫框架,提供了许多方便的特性,如选择器、管道、中间件、代理等。本文将重点介绍如何使用Scrapy的图片管道和代理中间件,以提高爬虫的效率和稳定性。
Amazon图片下载器:利用Scrapy库完成图像下载任务
|
数据采集 XML 存储
【新闻推荐系统】(task3)Scrapy基础及新闻爬取实战
一、Scrapy的简介与安装 python环境的安装: python 环境,使用minicon
595 0
【新闻推荐系统】(task3)Scrapy基础及新闻爬取实战
|
数据采集 JSON 安全
|
数据采集 Python
Crawler之Scrapy:Python实现scrapy框架爬虫两个网址下载网页内容信息
Crawler之Scrapy:Python实现scrapy框架爬虫两个网址下载网页内容信息
|
数据采集 JSON 数据格式
基于python的Scrapy爬虫框架实战
基于python的Scrapy爬虫框架实战 2018年7月19日笔记 1.伯乐在线 网站页面如下图所示: 网站页面.png 1.1 新建爬虫工程 命令:scrapy startproject BoleArticle 新建爬虫工程命令 命令:scrapy genspider article "blog.jobbole.com" 注意:运行此命令时必须在爬虫工程文件夹内,如下图路径所示。
1620 0
|
数据采集 Python
Scrapy爬虫(5)爬取当当网图书畅销榜
  本次将会使用Scrapy来爬取当当网的图书畅销榜,其网页截图如下:   我们的爬虫将会把每本书的排名,书名,作者,出版社,价格以及评论数爬取出来,并保存为csv格式的文件。
1912 0
|
数据采集 NoSQL 关系型数据库
scrapy 实战练习
前一篇文章介绍了很多关于scrapy的进阶知识,不过说归说,只有在实际应用中才能真正用到这些知识。所以这篇文章就来尝试利用scrapy爬取各种网站的数据。
1816 0
|
5月前
|
数据采集 中间件 Python
Scrapy爬虫:利用代理服务器爬取热门网站数据
Scrapy爬虫:利用代理服务器爬取热门网站数据