scrapy框架(二)给你一套用内置方法更快进行图片下载的方法总结

一、项目热身

(1)生成爬虫,并将 start_urls 改成正确的开始url
(2)配置 setting 文件内容

二、取图片URL的主要逻辑

  1. xpath定位li的位置 这里的 div 可以省略
  2. xpath定位到图片的 src 标签
  3. yield方法传递到 pipelines 中

三、在 pipelines 中下载URL并保存文件

直接下载
  1. 接收yield回来的图片url地址 # src
  2. 切割地址获取保存图片的文件名 # split
  3. 获取文件存储路径 # os.path.join os.path.dirname
  4. 下载图片 # request.urlretrieve(url, filename=None, ……)
使用内置的方法下载
  1. 获取url的逻辑代码中导入 from pic.items import PicItem
  2. 定义好一个Item,然后在这个item中定义两个属性,分别为image_urls以及images。image_urls是用来存储需要下载的文件的url链接,需要给一个列表 scrapy.Field()在这里插入图片描述
  3. 当文件下载完成后,会把文件下载的相关信息存储到item的images属性中。如下载路径、下载的url和图片校验码等
  4. 在配置文件settings.py中配置IMAGES_STORE,这个配置用来设置文件下载路径在这里插入图片描述
  5. 启动pipeline:在ITEM_PIPELINES中设置 scrapy.pipelines.images.ImagesPipeline:1(需要在 pipeline 导入模块from scrapy.pipelines.images import ImagesPipeline)

版权声明:本文为qq_34079398原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。