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

本文主要介绍如何使用Scrapy框架进行图片下载。首先,通过XPath定位获取图片URL,接着在pipelines中处理图片下载。文章讨论了两种下载方法:直接下载和使用Scrapy内置的ImagesPipeline。直接下载涉及接收图片URL、切割文件名和保存路径,而内置方法则利用PicItem定义image_urls和images属性,并配置IMAGES_STORE进行文件存储。
摘要由CSDN通过智能技术生成

一、项目热身

(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_STOR
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值