一、项目热身
(1)生成爬虫,并将 start_urls 改成正确的开始url
(2)配置 setting 文件内容
二、取图片URL的主要逻辑
- xpath定位li的位置 这里的 div 可以省略
- xpath定位到图片的 src 标签
- yield方法传递到 pipelines 中
三、在 pipelines 中下载URL并保存文件
直接下载
- 接收yield回来的图片url地址 # src
- 切割地址获取保存图片的文件名 # split
- 获取文件存储路径 # os.path.join os.path.dirname
- 下载图片 # request.urlretrieve(url, filename=None, ……)
使用内置的方法下载
- 获取url的逻辑代码中导入 from pic.items import PicItem
- 定义好一个Item,然后在这个item中定义两个属性,分别为image_urls以及images。image_urls是用来存储需要下载的文件的url链接,需要给一个列表 scrapy.Field()
- 当文件下载完成后,会把文件下载的相关信息存储到item的images属性中。如下载路径、下载的url和图片校验码等
- 在配置文件settings.py中配置IMAGES_STORE,这个配置用来设置文件下载路径
- 启动pipeline:在ITEM_PIPELINES中设置 scrapy.pipelines.images.ImagesPipeline:1(需要在 pipeline 导入模块from scrapy.pipelines.images import ImagesPipeline)
版权声明:本文为qq_34079398原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。