Scrapy下载图片及自定义分类下载路径
配置下载图片的流程如下
- 在items中定义两个属性,image_urls 和images 。image_urls是用来存储需要下载的图片url链接,列表类型;
 - 当文件下载完成后会把相关下载信息存入images属性中,如下载的url和图片校验码等;
 - 在配置文件settings中配置IMAGES_STORE用来指定下载的路径;
 - 启动pipeline,在settings中的ITEM_PIPELINE中设置scrapy.pipelines.images.ImagesPipeline:1;
 - 下载文件同理(两个属性file_urls和files),FILES_STORE
 
自定义分类下载路径
class CarImagesPipeline(ImagesPipeline):
    # 获取文件名
    def file_path(self, request, response=None, info=None):  # 在get_media_requests的方法后被调用
        path = super(CarImagesPipeline,self).file_path(request,response,info) #获取父类方法返回的图片名
        title = request.item.get('title') # 子文件夹名
        images = settings.IMAGES_STORE #主文件夹名
        title_path = os.path.join(images,title)
        if not os.path.exists(title_path):#不存在子文件夹就新建
            os.mkdir(title_path)
        image_name = path.replace('full/','') #获取父类方法返回的full%s%(image_guuid),并且获取图片的16进制哈希名
        image_path = os.path.join(title_path,image_name) #制作图片名
        return image_path
    # 生成下载请求
    def get_media_requests(self, item, info):
        request_objs=super(CarImagesPipeline,self).get_media_requests(item,info)
        for request_obj in request_objs:
            request_obj.item = item #将item绑定到Request对象
        return request_objs
												
											Scrapy下载图片及自定义分类下载路径的更多相关文章
- [Swift通天遁地]四、网络和线程-(8)下载图片并实时显示下载进度
		
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
 - 通过HttpURLConnection下载图片到本地--批量下载
		
一.背景说明 这篇文章讲述的是批量下载附件,在上一篇文章中,介绍了下载单个附件(上一篇文章). 二.实现思路 主要的实现思路:创建文件夹->文件夹中创建需要下载的文件->压缩文件夹-> ...
 - vue a标签下载图片文档显示下载失败
		
解决:把所要下载的文件放到static文件下,具体原因-静态文件放在static内,否则webpack会打包.
 - xkcd 单线程下载图片
		
Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...
 - 在C#中使用正则表达式筛选出图片URL并下载图片URL中的图片到本地
		
本功能主要用到的知识点如下: 1.正则表达式 2.C#中下载文件功能的实现 3.泛型集合的使用 4.进程的简单操作(用于结束当前程序) 下面就简单说一下是如何使用这些知识点的.先详细说下这个程序主要实 ...
 - (TODO:)下载图片,报错:warning: could not load any Objective-C class information from the dyld shared cache. This will significantly reduce the quality of type information available.
		
想使用NSInvocationOperation下载图片,然而并没有下载下来, NSData为nil, 还有报错:(打断点就报错) warning: could not load any Object ...
 - Utils--封装好的下载图片的方法
		
/** * 封装下载图片方法 * @param url 下载地址 * @param filename * @return 下载成功为true */ public boolean downfile(St ...
 - 利用Content-disposition实现无刷新下载图片文件
		
今天在使用 tinypng.com 这个在线压缩图片的网站时,对其处理完图片后,可以无刷新下载图片感到好奇,于是了解了一下相关实现.无刷新下载可以利用MIME type或者设置Content-disp ...
 - python下载图片超时的调查
		
在使用python3下载图片时, 常用的方法有urlretrieve和requests两种, 不管哪种方法在网速极慢的情况下, 会出现图片下载卡住现象.那如何解决呢? 小编根据网上提供的资料测试了几种 ...
 
随机推荐
- C#winform解析marc显示在datagridview中以及marc卡片显示
			
结果显示:marc显示: 卡片显示: 程序一个类: public class MARC { #region 界面上要显示的元素 public string ztm = "";//正 ...
 - POJ-1976-A Mini Locomotive-dp
			
A train has a locomotive that pulls the train with its many passenger coaches. If the locomotive bre ...
 - 使用JDK自带功能,实现一个简单的Web Service接口发布
			
万事开头难,本篇文章的目的就是使用JDK自带的功能,实现一个最简单的Web Service接口的发布. 下图是项目的组成,主要有三个部分,一个接口(WS),一个接口的实现类(WSImp),还有一个接口 ...
 - QT 获取文件的路径、打开文件的弹出对话框
			
1.打开获取文件夹路径的对话框 QString filePath = QFileDialog::getExistingDirectory(this, "请选择文件保存路径...", ...
 - JS动画完美框架
			
html部分 <!DOCTYPE html> <html lang="en"> <head> <link href="../cs ...
 - 03_mybatis配置文件详解
			
1. SqlMapConfig.xml mybatis全局配置文件SqlMapConfig.xml,配置内容如下: *properties(属性) setting(全局配置参数) typeAliase ...
 - 《初识Python之认识常量type函数》
			
<初识Python之认识常量type函数> 1.2 认识常量 1.常量:我们用的就是它字面意义上的值或内容. 2.数字(Number) (1)整数表示:97. (2)浮点数表示:5.29 ...
 - Python文件操作回顾
			
with open("D:/Temp/a.txt", mode='w', encoding='utf-8') as f: f.write('hello') with open(&q ...
 - <剑指offer>面试题
			
题目1:二维数组的查找 题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断 ...
 - CSS三大特性之继承性
			
1.并不是所有的属性都可以继承,只有以color/font/text/line开头的属性 才可以继承. 2.在CSS的继承中,不仅仅是儿子可以继承,只要是后代都可以继承. 3.继承中的特殊性 3.1 ...