原文链接

学习Scrapy过程中发现用Scrapy下载图片时,总是以他们的URL的SHA1 hash值为文件名,如:

图片URL:http://www.example.com/image.jpg

它的SHA1 hash值为:3afec3b4765f8f0a07b78f98c07b83f013567a0a

则下载的图片为:3afec3b4765f8f0a07b78f98c07b83f013567a0a.jpg

目的是下载的图片为:image.jpg或者xxx.jpg

可以通过编写Pipeline来实现。

以下以下载汽车标志为例子(http://www.pcauto.com.cn/zt/chebiao/)

软件版本:Python2.7  Scrapy(1.0.5),Python3目前对Scrapy支持不好,缺少一些模块

一、创建爬虫工程:

进入某目录下:

scrapy startproject Logo

1
2
3
4
5
6
7
8
9
10
11
目录结构<br>Logo.
│ scrapy.cfg
└─Logo
    │ items.py
    │ pipelines.py
    │ settings.py
    │ __init__.py
    
    └─spiders
           __init__.py

二、

1、在items.py中定义需要爬去信息的变量名称

# -*- coding: utf-8 -*-# Define here the models for your scraped items
#
# See documentation in:
# http://doc.scrapy.org/en/latest/topics/items.htmlfrom scrapy.item import Item, Fieldclass LogoItem(Item):# define the fields for your item here like:# name = scrapy.Field()country=Field()carname=Field()imageurl=Field()

2、在Logo/Logo/spiders目录下创建logo_spider.py(名字随意),并写如下代码

#!/usr/bin/env python
# -*- coding:utf-8 -*-from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.selector import Selector
from Logo.items import LogoItem
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.spider import Spiderclass LogoSpider(CrawlSpider) : #CrawlSpider用来遍布抓取,通过rules来查找所有符合的URL来爬去信息
name = "logo" #名字唯一,启动爬虫是用到 scrapy crawl logo -o items.jsonallowed_domains = ["pcauto.com.cn"]start_urls = ["http://www.pcauto.com.cn/zt/chebiao/faguo/"]rules = (Rule(SgmlLinkExtractor(allow = (r'http://www.pcauto.com.cn/zt/chebiao/.*?/$')), follow = True, callback = 'parse_page'),#将读取的网页进行分析# Rule(SgmlLinkExtractor(allow = ('http://www\.pcauto.com\.cn/zt/chebiao/.*?/')), callback = 'parse_page')
        )def parse_page(self, response) :sel = Selector(response)item = LogoItem()item['country'] = ''.join(sel.xpath('//div[@class="th"]/span[@class="mark"]/a/text()').extract())item['carname'] = sel.xpath('//div[@class="dTxt"]/i[@class="iTit"]/a/text()').extract()item['imageurl'] = sel.xpath('//div[@class="dPic"]/i[@class="iPic"]/a/img/@src').extract()return item# class LogoSpider(Spider) :  #抓取单一页面,没有rules#     name = "logo"
#     allowed_domains = ["pcauto.com.cn"]
#     start_urls = ["http://www.pcauto.com.cn/zt/chebiao/faguo/"]#     def parse(self, response) :
#         sel = Selector(response)
#         item = LogoItem()
#         item['country'] = ''.join(sel.xpath('//div[@class="th"]/span[@class="mark"]/a/text()').extract())      #此处 ''.join()是为了在后面为图片自定义名称时使用,若不加''.join(),后面调用item['country']会得到Unicode码
#         item['carname'] = sel.xpath('//div[@class="dTxt"]/i[@class="iTit"]/a/text()').extract()
#         item['imageurl'] = sel.xpath('//div[@class="dPic"]/i[@class="iPic"]/a/img/@src').extract()
#         return item        

当抓取的数据中含有中文时,屏幕上打印的数据和保存的数据都显示为Unicode编码,如:

{"carname": ["\u6807\u81f4", "\u96ea\u94c1\u9f99", "\u5e03\u52a0\u8fea", "\u96f7\u8bfa"], "country": "\u6cd5\u56fd\u6c7d\u8f66\u6807\u5fd7", "imageurl": ["http://img0.pcauto.com.cn/pcauto/zt/chebiao/faguo/1108/1446890_peugeot.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/faguo/1108/1446234_citroen.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/faguo/1108/1446234_bugatti.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/faguo/1108/1446890_renault.jpg"]},应该对应为{"carname": ["标致", "雪铁龙", "布加迪", "雷诺"], "country": "法国汽车标志", "imageurl": ["http://img0.pcauto.com.cn/pcauto/zt/chebiao/faguo/1108/1446890_peugeot.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/faguo/1108/1446234_citroen.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/faguo/1108/1446234_bugatti.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/faguo/1108/1446890_renault.jpg"]}

要想保存为中文字符,需在pipelines.py中编写如下:

import json
import codecsclass JsonWithEncodingPipeline(object):def __init__(self):self.file = codecs.open('logo.json', 'w', encoding='utf-8') #当运行scrapy crawl logo -o items.json后,数据默认保存为items.json,里面中文全为Unicode,重新打开或创建一个文件'logo.json',名称随意
def process_item(self, item, spider):line = json.dumps(dict(item), ensure_ascii=False) + "\n"self.file.write(line)return itemdef spider_closed(self, spider):self.file.close()

已过以上步骤后CMD输入scrapy crawl logo -o items.json,会得到文件logo.json

{"carname": ["起亚", "双龙", "现代"], "country": "韩国汽车标志", "imageurl": ["http://img0.pcauto.com.cn/pcauto/zt/chebiao/hanguo/1108/1446890_kia.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/hanguo/1108/1446890_shuanglong.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/hanguo/1108/1446234_hyundai.jpg"]}
{"carname": ["丰田", "本田", "马自达", "日产", "斯巴鲁", "雷克萨斯", "讴歌", "铃木", "英菲尼迪", "三菱", "光冈"], "country": "日本汽车标志", "imageurl": ["http://img0.pcauto.com.cn/pcauto/zt/chebiao/riben/1108/1446890_toyota.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/riben/1108/1446234_honda.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/riben/1108/1446890_mazda.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/riben/1108/1446890_nissan.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/riben/1108/1446890_subaru.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/riben/1108/1446890_lexus.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/riben/1108/1446234_acura.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/riben/1108/1446890_suzuki.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/riben/1108/1446234_infiniti.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/riben/1108/1446890_mitsubishi.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/riben/1108/1446234_guanggang.jpg"]}
{"carname": ["标致", "雪铁龙", "布加迪", "雷诺"], "country": "法国汽车标志", "imageurl": ["http://img0.pcauto.com.cn/pcauto/zt/chebiao/faguo/1108/1446890_peugeot.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/faguo/1108/1446234_citroen.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/faguo/1108/1446234_bugatti.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/faguo/1108/1446890_renault.jpg"]}
{"carname": ["凯迪拉克", "雪佛兰", "福特", "别克", "克莱斯勒", "悍马", "GMC", "林肯", "吉普", "道奇", "Rossion"], "country": "美国汽车标志", "imageurl": ["http://img0.pcauto.com.cn/pcauto/zt/chebiao/meiguo/1108/1446234_cadillac.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/meiguo/1108/1446234_chevrolet.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/meiguo/1108/1446234_ford.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/meiguo/1108/1511925_buick8060.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/meiguo/1108/1446234_chrysler.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/meiguo/1108/1446234_hummer.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/meiguo/1108/1446234_gmc.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/meiguo/1108/1446890_lincoln.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/meiguo/1108/1446234_jeep.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/meiguo/1108/1447012_dodge.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/meiguo/1108/1451297_rossion.jpg"]}
{"carname": ["斯柯达", "柯尼塞格", "西亚特", "世爵", "萨博", "沃尔沃"], "country": "其他汽车标志", "imageurl": ["http://img0.pcauto.com.cn/pcauto/zt/chebiao/qita/1108/1486098_skoda8060.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/qita/1108/1446890_koenigsegg.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/qita/1108/1486068_seat8060.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/qita/1108/1446890_spykers.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/qita/1108/1446890_saab.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/qita/1108/1446890_volvo.jpg"]}
{"carname": ["劳斯莱斯", "保时捷", "奔驰", "宝马", "奥迪", "大众", "劳伦士", "欧宝", "迈巴赫", "Smart"], "country": "德国汽车标志", "imageurl": ["http://img0.pcauto.com.cn/pcauto/zt/chebiao/deguo/1108/1446890_rolls-royce.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/deguo/1108/1446890_porsche.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/deguo/1108/1446234_benz.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/deguo/1108/1446234_bmw.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/deguo/1108/1446234_audi.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/deguo/1108/1446890_volkswagen.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/deguo/1108/1528840_8060.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/deguo/1108/1446890_opel.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/deguo/1108/1446890_maybach.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/deguo/1108/1446890_smart.jpg"]}
{"carname": ["宾利", "迷你", "路特斯", "阿斯顿马丁", "捷豹", "路虎"], "country": "英国汽车标志", "imageurl": ["http://img0.pcauto.com.cn/pcauto/zt/chebiao/yingguo/1108/1446234_bentley.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/yingguo/1108/1446890_mini.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/yingguo/1108/1518508_Lotus8060.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/yingguo/1108/1446234_aston-martin.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/yingguo/1108/1446234_jaguar.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/yingguo/1108/1446890_landrover.jpg"]}
{"carname": ["法拉利", "帕加尼", "玛莎拉蒂", "兰博基尼", "阿尔法罗密欧", "菲亚特"], "country": "意大利汽车标志", "imageurl": ["http://img0.pcauto.com.cn/pcauto/zt/chebiao/yidali/1108/1446234_ferrari.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/yidali/1108/1451297_pagani.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/yidali/1108/1446890_maserati.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/yidali/1108/1447114_5.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/yidali/1108/1328198_romio.png", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/yidali/1108/1446234_fiat.jpg"]}
{"carname": ["广汽", "奇瑞", "一汽", "比亚迪", "长城", "MG", "庆铃", "力帆", "陆风", "吉奥", "奔腾", "众泰", "中华", "荣威", "厦门金龙", "英伦汽车", "风神", "海马郑州", "长安(商用)", "启辰", "莲花", "汇众", "华普", "昌河", "福迪", "五菱", "长安", "中兴", "吉林", "威旺", "纳智捷", "宝骏", "依维柯", "解放", "川汽野马", "红旗", "黑豹", "哈飞", "江铃", "福田", "双环", "华泰", "长丰", "东南", "海马", "吉利", "帝豪", "江淮", "东风", "金杯", "瑞麒", "九龙", "黄海", "全球鹰", "开瑞", "威麟", "北京汽车", "理念", "北汽", "南汽", "中顺", "江南", "大迪", "永源", "自由风", "中欧"], "country": "国产汽车标志", "imageurl": ["http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_guangqi.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_chery.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446890_yiqi.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_byd.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_greatwall.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446890_mg.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1592575_121.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446890_lifan.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446890_lufeng.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1520427_ja8060.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_benten.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1573305_zhongtai8060.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446890_zhonghua.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446890_roewe.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_jinlonglianhe.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446890_yinglun.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1447032_dongfengfengshen.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_haimashangyong.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_changanshangyong.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1508050_qichen5050.png", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446890_lotus-motor.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1451297_huizong.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_huapu.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_changhe.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_fudi.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446890_wuling.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_chaanjiaoche.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446890_zhongxing.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446890_yiqi.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1531565_ww8060.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1486099_nazhijie8060.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_baojun.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_iveco.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1328218_yq.png", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1328218_cq.png", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_hongqi.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1451297_heibao.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_hafei.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_jiangling.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_futian.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446890_shuanghuan.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_huatai.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_changfeng.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446890_soueast-motor.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_haima.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_geely.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1447012_dihao.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_jac.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1447012_dongfeng.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_huachenjinbei.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446890_riich.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1451708_jiulong.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_huanghai.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446890_quanqiuying.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446890_karry.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446890_ruilink.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_beijingqiche.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1455155_ln.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_baw.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446890_xinyatu.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1328198_zs.png", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446234_jiangnan.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1447012_dadi.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1446890_ufo.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1451297_ziyoufeng.jpg", "http://img0.pcauto.com.cn/pcauto/zt/chebiao/guochan/1108/1451297_zhongou.jpg"]}

3、上面只是对抓取的数据进行了保存,还未下载图片,打开pipelines.py

# -*- coding: utf-8 -*-# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: http://doc.scrapy.org/en/latest/topics/item-pipeline.html
from scrapy.pipelines.images import ImagesPipeline
from scrapy.exceptions import DropItem
from scrapy import Request
import json
import codecsclass JsonWithEncodingPipeline(object):def __init__(self):self.file = codecs.open('logo.json', 'w', encoding='utf-8')def process_item(self, item, spider):line = json.dumps(dict(item), ensure_ascii=False) + "\n"self.file.write(line)return itemdef spider_closed(self, spider):self.file.close()class DownloadImagesPipeline(ImagesPipeline):def get_media_requests(self,item,info): #下载图片for image_url in item['imageurl']:yield Request(image_url,meta={'item':item,'index':item['imageurl'].index(image_url)}) #添加meta是为了下面重命名文件名使用def file_path(self,request,response=None,info=None):item=request.meta['item'] #通过上面的meta传递过来itemindex=request.meta['index'] #通过上面的index传递过来列表中当前下载图片的下标#图片文件名,item['carname'][index]得到汽车名称,request.url.split('/')[-1].split('.')[-1]得到图片后缀jpg,pngimage_guid = item['carname'][index]+'.'+request.url.split('/')[-1].split('.')[-1]#图片下载目录 此处item['country']即需要前面item['country']=''.join()......,否则目录名会变成\u97e9\u56fd\u6c7d\u8f66\u6807\u5fd7\xxx.jpgfilename = u'full/{0}/{1}'.format(item['country'], image_guid) return filename

4、setting.py中

BOT_NAME = 'Logo'SPIDER_MODULES = ['Logo.spiders']
NEWSPIDER_MODULE = 'Logo.spiders'ITEM_PIPELINES={# 'sucai.pipelines.SucaiPipeline':1'Logo.pipelines.JsonWithEncodingPipeline':2,'Logo.pipelines.DownloadImagesPipeline':1
}
IMAGES_STORE='F:\Logo\picture'  

然后运行scrapy crawl logo -o items.json,

Logo.
│  items.json
│  logo.json
│  scrapy.cfg
│
├─Logo
│  │  items.py
│  │  items.pyc
│  │  pipelines.py
│  │  pipelines.pyc
│  │  settings.py
│  │  settings.pyc
│  │  __init__.py
│  │  __init__.pyc
│  │
│  └─spiders
│          logo_spider.py
│          logo_spider.pyc
│          __init__.py
│          __init__.pyc
│
└─picture└─full├─其他汽车标志│      世爵.jpg│      斯柯达.jpg│      柯尼塞格.jpg│      沃尔沃.jpg│      萨博.jpg│      西亚特.jpg│├─国产汽车标志│      MG.jpg│      一汽.jpg│      东南.jpg│      东风.jpg│      中兴.jpg│      中华.jpg│      中欧.jpg│      中顺.png│      九龙.jpg│      五菱.jpg│      众泰.jpg│      依维柯.jpg│      全球鹰.jpg│      力帆.jpg│      北京汽车.jpg│      北汽.jpg│      华普.jpg│      华泰.jpg│      南汽.jpg│      厦门金龙.jpg│      双环.jpg│      吉利.jpg│      吉奥.jpg│      启辰.png│      哈飞.jpg│      大迪.jpg│      奇瑞.jpg│      奔腾.jpg│      威旺.jpg│      威麟.jpg│      宝骏.jpg│      川汽野马.png│      帝豪.jpg│      广汽.jpg│      庆铃.jpg│      开瑞.jpg│      昌河.jpg│      比亚迪.jpg│      永源.jpg│      汇众.jpg│      江南.jpg│      江淮.jpg│      江铃.jpg│      海马.jpg│      海马郑州.jpg│      理念.jpg│      瑞麒.jpg│      福田.jpg│      福迪.jpg│      红旗.jpg│      纳智捷.jpg│      自由风.jpg│      英伦汽车.jpg│      荣威.jpg│      莲花.jpg│      解放.png│      金杯.jpg│      长丰.jpg│      长城.jpg│      长安.jpg│      长安(商用).jpg│      陆风.jpg│      风神.jpg│      黄海.jpg│      黑豹.jpg│├─德国汽车标志│      Smart.jpg│      保时捷.jpg│      劳伦士.jpg│      劳斯莱斯.jpg│      大众.jpg│      奔驰.jpg│      奥迪.jpg│      宝马.jpg│      欧宝.jpg│      迈巴赫.jpg│├─意大利汽车标志│      兰博基尼.jpg│      帕加尼.jpg│      法拉利.jpg│      玛莎拉蒂.jpg│      菲亚特.jpg│      阿尔法罗密欧.png│├─日本汽车标志│      三菱.jpg│      丰田.jpg│      光冈.jpg│      斯巴鲁.jpg│      日产.jpg│      本田.jpg│      英菲尼迪.jpg│      讴歌.jpg│      铃木.jpg│      雷克萨斯.jpg│      马自达.jpg│├─法国汽车标志│      布加迪.jpg│      标致.jpg│      雪铁龙.jpg│      雷诺.jpg│├─美国汽车标志│      GMC.jpg│      Rossion.jpg│      克莱斯勒.jpg│      凯迪拉克.jpg│      别克.jpg│      吉普.jpg│      悍马.jpg│      林肯.jpg│      福特.jpg│      道奇.jpg│      雪佛兰.jpg│├─英国汽车标志│      宾利.jpg│      捷豹.jpg│      路特斯.jpg│      路虎.jpg│      迷你.jpg│      阿斯顿马丁.jpg│└─韩国汽车标志双龙.jpg现代.jpg起亚.jpg

Scrapy图片下载,自定义图片名字相关推荐

  1. Enjoy! 多达400多万的动态搞笑,爱情,友情。。。。表情下载 表情表情自定义表情表情图片下载 自定义QQ表情使用方法完全图解

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 多达40 ...

  2. android 自定义图片,Android自定义图片集合

    本文主要包括以下内容: 使用Xfermode设置圆角图片 使用BitmapShader设置圆角图片 滑动旋转缩放的bimp图片 图片颜色处理(滑动) 图片 + 文字 其中1,2是两种不同方式处理图片圆 ...

  3. echarts树图图标修改成图片以及自定义图片首次加载不显示的问题的修改<js>

    首先看一下显示效果,如下图所示: 1.首先修改图片,在option对象中加入 下方代码就可实现图片的修改,但是存在bug symbol:'image://https://ss2.bdstatic.co ...

  4. Scrapy爬取图片自定义图片文件名时出现的问题

    目录 出现的问题:只下载了一张图片,图片的名称为最后一张图片的名称,但内容并不是最后一张图片的内容.在打印时,最后一张图片的相关信息出现多次. 对应文件的相关信息: Items文件相关内容: Spid ...

  5. 集小红书图片剪裁+微信图片选择器+自定义图片剪裁于一体的YImagePicker

    目录 关于YImagePicker 引入依赖 核心原理 效果图集 点击查看详细API文档 微信图片选择 小红书图片选择 预览 拍照 拍摄视频 调用选择器并剪裁 拍照并剪裁 直接剪裁 提供媒体数据--支 ...

  6. Python批量自动下载获取图片

    import requests from bs4 import BeautifulSoup import json import eventlet import osurlshu = 1 #url中f ...

  7. 猫猫学iOS(五十五)多线程网络之图片下载框架之SDWebImage

    猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 效果: 代码: - (NSA ...

  8. scrapy (2)下载图片及存储信息

    例1:scrapy项目的使用(利用item收集抓取的返回值) 1.创建scrapy项目 1 2 3 4 5 6 scrapy startproject booklist New Scrapy proj ...

  9. scrapy python下载图片_使用Scrapy自带的ImagesPipeline下载图片,并对其进行分类。

    imagespipeline是scrapy自带的类,用来处理图片(爬取时将图片下载到本地)用的. 优势: 将下载图片转换成通用的jpg和rgb格式 避免重复下载 缩略图生成 图片大小过滤 异步下载 . ...

最新文章

  1. 红帆科技将参展2009第十三届中国国际软件博览会
  2. 无csrf防护的html页面,Springs CSRF保护仅* HTML登录页面
  3. Git的配置SSHKey
  4. 18. 4Sum 四数之和
  5. linux系统下的程序开发报告册,linux系统及应用应用开发实验报告册
  6. java 导出excel二维表,如何轻松将EXCEL二维统计表转为数据清单?
  7. Ansible执行过程分析、异步模式和速度优化
  8. qt中调整弹出框的位置
  9. html5制作拼图游戏教程,用HTML5制作视频拼图的教程
  10. 仿头条新闻app,实现下拉刷新,上拉加载分页
  11. java(jdk) 8u45 正式版_缺氧正式版,草图分享(克莱)
  12. nbu mysql linux备份软件,NBU备份linux/aix/unix下的db2数据库配置
  13. linux查询硬盘固件版本,一种Linux系统下批量更新希捷硬盘固件的方法与流程
  14. git commit提交rebase合并以及patch补丁的使用
  15. html怎样使字数占相同位,《古对今》教案
  16. win 10简繁体切换快捷键
  17. php v8js 执行外部js,php运行jsv8引擎
  18. 一份新媒体营销推广策划方案 助你升级主管路
  19. Error creating bean with name ‘configurationPropertiesBeans‘ defined in class path resource异常分析
  20. 基于QT的多线程视频监控的实现(一)

热门文章

  1. 亚马逊云科技宣布Amazon Nimble Studio正式可用 云上搭建影像内容工作室仅需几小时
  2. 服务器BCM系统集成调度软件,BCM实时备份系统.ppt
  3. 整体学历较高,硕士占比达 40%,周星驰也开始招募Web3人才!
  4. Arduino读取JY901+GPS/北斗双模定位模块信息(提高定位精度)串口和I2C通信
  5. phpcms 专题功能
  6. TimingGen绘波形图导入Viso步骤
  7. 当前深度神经网络模型压缩和加速方法速览
  8. 谷歌浏览器插件最新版 v0.3.0 抓取1688、京东、拼多多 商品图片|文描|视频|规格|属性等信息 并打包下载
  9. 营销值得学:普通人怎么创业?创业需要具备哪些能力?
  10. 编码器Atom使用指南