目录

出现的问题:只下载了一张图片,图片的名称为最后一张图片的名称,但内容并不是最后一张图片的内容。在打印时,最后一张图片的相关信息出现多次。

对应文件的相关信息:

Items文件相关内容:

Spider文件内容:

Settings文件内容:

Pipeliens文件相关内容:

刚开始我是这样写的,以图片路径的最后一段为文件名称,没有出现什么大问题

但我觉得不好看,打算以它们原本的名称作为文件名

最终的写法,不传入整个item,而是传入item对象中对应的字段内容


出现的问题:只下载了一张图片,图片的名称为最后一张图片的名称,但内容并不是最后一张图片的内容。在打印时,最后一张图片的相关信息出现多次。


对应文件的相关信息:

Items文件相关内容:

# Define here the models for your scraped items
#
# See documentation in:
# https://docs.scrapy.org/en/latest/topics/items.htmlimport scrapyclass FabiaoqingItem(scrapy.Item):# define the fields for your item here like:images = scrapy.Field()image_urls = scrapy.Field()# pass

Spider文件内容:

import scrapy
from first.items import FabiaoqingItemclass FabiaoqingSpider(scrapy.Spider):name = 'fabiaoqing'# allowed_domains = ['https://www.fabiaoqing.com/']start_urls = ['https://www.fabiaoqing.com/biaoqing']def parse(self, response):# 获取item对象item = FabiaoqingItem()# 获取所有表情包信息imgs = response.css('.tagbqppdiv')for img in imgs:# 标题title = img.css('a::attr(title)').extract()# 路径src = img.css('a img::attr(data-original)').extract()# 将列表内容提取成字符串title = ''.join(title)src = ''.join(src)# print(title, src)# 将获取到的内容封装到item对象中item['images'] = titleitem['image_urls'] = src# 将item提交给管道yield item# 划重点:执行过程中,不报错,也不出结果,找到一个警告:
# WARNING: Disabled FabiaoqingPipeline: ImagesPipeline requires installing Pillow 4.0.0 or later
# 意思就是系统中没有安装Pillow 4.0.0以上的版本,需要手动安装一下:pip install pillow

Settings文件内容:

# Scrapy settings for first project
#
# For simplicity, this file contains only settings considered important or
# commonly used. You can find more settings consulting the documentation:
#
#     https://docs.scrapy.org/en/latest/topics/settings.html
#     https://docs.scrapy.org/en/latest/topics/downloader-middleware.html
#     https://docs.scrapy.org/en/latest/topics/spider-middleware.html# 控制台日志输出级别
import random# 图片文件保存的目录
IMAGES_STORE = './images'
# 限制日志输出等级
LOG_LEVEL = 'ERROR'BOT_NAME = 'first'SPIDER_MODULES = ['first.spiders']
NEWSPIDER_MODULE = 'first.spiders'# Crawl responsibly by identifying yourself (and your website) on the user-agent
# USER_AGENT = 'first (+http://www.yourdomain.com)'
# 用户代理列表USER_AGENT_LIST = [# Edge'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62',# Firefox'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0',# Chrome'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36'
]
# 随机用户代理
USER_AGENT = random.choice(USER_AGENT_LIST)# Obey robots.txt rules
# ROBOTSTXT_OBEY = True
# 是否遵从robots协议
ROBOTSTXT_OBEY = False# Configure maximum concurrent requests performed by Scrapy (default: 16)
# CONCURRENT_REQUESTS = 32# Configure a delay for requests for the same website (default: 0)
# See https://docs.scrapy.org/en/latest/topics/settings.html#download-delay
# See also autothrottle settings and docs
# DOWNLOAD_DELAY = 3
# The download delay setting will honor only one of:
# CONCURRENT_REQUESTS_PER_DOMAIN = 16
# CONCURRENT_REQUESTS_PER_IP = 16# Disable cookies (enabled by default)
# COOKIES_ENABLED = False# Disable Telnet Console (enabled by default)
# TELNETCONSOLE_ENABLED = False# Override the default request headers:
# DEFAULT_REQUEST_HEADERS = {
#   'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
#   'Accept-Language': 'en',
# }# Enable or disable spider middlewares
# See https://docs.scrapy.org/en/latest/topics/spider-middleware.html
# SPIDER_MIDDLEWARES = {
#    'first.middlewares.FirstSpiderMiddleware': 543,
# }# Enable or disable downloader middlewares
# See https://docs.scrapy.org/en/latest/topics/downloader-middleware.html
# DOWNLOADER_MIDDLEWARES = {
#    'first.middlewares.FirstDownloaderMiddleware': 543,
# }# Enable or disable extensions
# See https://docs.scrapy.org/en/latest/topics/extensions.html
# EXTENSIONS = {
#    'scrapy.extensions.telnet.TelnetConsole': None,
# }# Configure item pipelines
# See https://docs.scrapy.org/en/latest/topics/item-pipeline.html
# 项目管道
ITEM_PIPELINES = {# 数值越小,优先级越高# 'first.pipelines.FirstPipeline': 300,# 'first.pipelines.ToMysqlPipeline': 301,'first.pipelines.FabiaoqingPipeline': 302,
}# Enable and configure the AutoThrottle extension (disabled by default)
# See https://docs.scrapy.org/en/latest/topics/autothrottle.html
# AUTOTHROTTLE_ENABLED = True
# The initial download delay
# AUTOTHROTTLE_START_DELAY = 5
# The maximum download delay to be set in case of high latencies
# AUTOTHROTTLE_MAX_DELAY = 60
# The average number of requests Scrapy should be sending in parallel to
# each remote server
# AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0
# Enable showing throttling stats for every response received:
# AUTOTHROTTLE_DEBUG = False# Enable and configure HTTP caching (disabled by default)
# See https://docs.scrapy.org/en/latest/topics/downloader-middleware.html#httpcache-middleware-settings
# HTTPCACHE_ENABLED = True
# HTTPCACHE_EXPIRATION_SECS = 0
# HTTPCACHE_DIR = 'httpcache'
# HTTPCACHE_IGNORE_HTTP_CODES = []
# HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'

Pipeliens文件相关内容:

刚开始我是这样写的,以图片路径的最后一段为文件名称,没有出现什么大问题

import scrapy
from scrapy.pipelines.images import ImagesPipelineclass FabiaoqingPipeline(ImagesPipeline):"""下载发表情网的表情包管道类"""def get_media_requests(self, item, info):"""对每一个表情包发起请求"""return [scrapy.Request(url=item['image_urls'])]def file_path(self, request, response=None, info=None, *, item=None):"""图片保存的路径(子路径)"""# 以下载路径的最后一段为文件名img_name = request.url.split('/')[-1]print(img_name)return img_namedef item_completed(self, results, item, info):"""将item传递给下一个管道类"""return item打印结果:
ab4b8062gy1gxlavqgxgbj20fb0fbmxu.jpg
008h4Hg2gy1gxb1gzxuz0g309d095nin.gif
ceeb653ely8gxvsn09kndj20g30eodge.jpg
ceeb653ely8gxx3gluh1jg208c06v74o.gif
006APoFYly8gxxjk5ks1fg30c80c8q4r.gif
ceeb653ely8gxvsdnb5orj20g30eojs0.jpg
ceeb653ely8gx8ywsjfthg20e80e84qp.gif
ceeb653ely8gx44pqmmhhj206o06omx9.jpg
006APoFYly8gwzyusrfg7j30oo0lgjt6.jpg
006C7PHRly1gw2df87078g30900904k8.gif
003MWcpMly8gv33zza8pzj608c08g74j02.jpg
ceeb653ely8gx8zv4cgxug2064064mzt.gif
ceeb653ely8gwa4c5uhbrj20j80j6aau.jpg
ceeb653ely8gwx3sekvz5j20j20j275b.jpg
ceeb653ely8gwc75zwiupj20dw0dwq3h.jpg
ceeb653ely8gwbv0zgjt3j20k00k0aao.jpg
ceeb653ely8gvwshx6ufng207u06u74m.gif
006APoFYly8gvxgba126cg308c05a0yc.gif
006GJQvhgy1gvvwkivvpqj328g28g18h.jpg
a6653c0dly1gvw1qv571hg206o062an5.gif
6958e69dgy1gvz2qe32vwj20go0gpgnn.jpg
006APoFYly8gvz9fi8a6uj30hs0hj0ty.jpg
006APoFYly8gwkftnnywag308m0aqqv8.gif
0078qrzmgy1gwdxp8p79sg303m03m74f.gif
006APoFYly8gxd8ufvm23j30j60j6jsa.jpg
ceeb653ely8gw2o2b5f61j20jz0j5dgr.jpg
ceeb653ely8gwlimzamsqg20a00a07nc.gif
ceeb653ely8gw2xy677q7g208w06ogtx.gif
003MWcpMly8gv903csftwg60670674ht02.gif
006Mi9iRgy1guvla2fgdog60ez0g0q9102.gif
0073Cjx6gy1gw262v18waj30th139gqr.jpg
ceeb653ely8gw335ge6jaj20d90hswfj.jpg
006APoFYly8gw12oxpu2yg301e01etca.gif
006APoFYly8gw13bu7ztvj30hs0hswfe.jpg
006APoFYly8gx8ngr1wc0g303403476m.gif
ceeb653ely8gx80qxpxahg20db0dbasj.gif
0068Lfdegy1gwio2wr0rjj30u00u0jv1.jpg
006APoFYly8gw2hau44pdg306o06o74u.gif
ceeb653ely8gx95ui88qwg209806kaac.gif
ceeb653ely8gx90naj760j20ix0njdh5.jpg
006APoFYly8gx901bj2i1g30790797wh.gif
006APoFYly8gx8nbk4948g307k05d4qp.gif
ceeb653ely8gx7ewc23ttg206o06ijtp.gif
ceeb653ely8gvzktgrq7tj206o06oq2y.jpg
0068Lfdegy1gvvi5yqolwj30u00u0djv.jpg

打开文件夹看看吧

共45个,没有问题

但我觉得不好看,打算以它们原本的名称作为文件名

我们先将之前下好的图片删除

return [scrapy.Request(url=item['image_urls'], meta={'item': item})]
import re
import scrapy
from scrapy.pipelines.images import ImagesPipelineclass FabiaoqingPipeline(ImagesPipeline):"""下载发表情网的表情包管道类"""def get_media_requests(self, item, info):"""对每一个表情包发起请求"""# return [scrapy.Request(url=item['image_urls'])]# 传入meta为后续的自定义文件名做准备return [scrapy.Request(url=item['image_urls'], meta={'item': item})]def file_path(self, request, response=None, info=None, *, item=None):"""图片保存的路径(子路径)"""# 以下载路径的最后一段为文件名# img_name = request.url.split('/')[-1]# print(img_name)# return img_name# 自定义文件名item = request.meta['item']     # 从meta中获取item对象img_name = item['images']# 有些表情包的名字包含特殊字符,导致不能保存,需要改一改img_name = re.sub(r'[\/:*?"<>|\n]', '', img_name)# 因为有些是gif,有些是jpg,所以文件后缀不能写死img_type = request.url.split('.')[-1]img_path = img_name + '.' + img_typeprint(img_path)return img_pathdef item_completed(self, results, item, info):"""将item传递给下一个管道类"""return item打印结果:
我他妈创死你.jpg
你爹来啰.gif
叫我一声宝贝跨年你就不是一个人了.jpg
2022一定暴富(熊猫头表情包).gif
已经2022年了.gif
叫我一声老婆跨年你就不是一个人了.jpg
你爹来咯 你爹来啰.gif
下次失眠时再见哦.jpg
我虽然卷但我还是菜.jpg
派大星Q弹の屁股 快跑.gif
你想破我防.jpg
敲你脑袋动图表情包.gif
干啥啥不行网上冲浪第一名.jpg
很黄的菜狗.jpg
指腚行!(指定行).jpg
无语蛋(滴汗表情包).jpg
我真的很想融入你们但是我要加班.gif
上号 英雄联盟手游熊猫头表情包.gif
恭喜你!你已被困困猫造访啦!从现在开始不管你在干什么你都会困得京不开眼!.jpg
为我们的无语干杯.gif
你这么可爱我一定要敲这样我就是敲可爱的.jpg
宝贝嘴一个开心s啦(库洛米表情包).jpg
老婆 开门 是我 我回来了 开个门吧 啊?没有喝酒呀 心虚 修勾敲门表情包.gif
滴汗小黄脸圣诞衣圣诞帽表情包.gif
2022一定能恋爱 熊猫头表情包.jpg
满眼都是你你你你.jpg
臭屁攻击.gif
少爷小姐起床啦.gif
3d指人表情包  警告1次.gif
挠痒痒挠屁股动图表情包.gif
达咩色色.jpg
被指到的人做三个提肛运动就现在.jpg
猫咪探头观察 GIF 动图表情包.gif
你看又生气了.jpg
无语 滴汗表情包.gif
Ji 坏蛋坏蛋大坏蛋.gif
没人喜欢我.jpg
雀跃的小腿跳起来 GIF 动图.gif
1)60这话里有话啊(微信聊天框表情包).gif
莓事(水果谐音表情包).jpg
波吉大哭动图表情包.gif
抱抱充电.gif
伤心蛙给你一拳.gif
群伸手党时不时来白嫖表情(群聊表情包).jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.jpg
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif
妈!大嘴猫表情包.gif

可以看见,一个很奇怪的现象,前44张图片正常,但在45张图片时出现了大量重复,更重要的是,只下载了2张图片,我们来看看

文件名为最后一张图片的名字,并且,文件名跟内容对应不上

最终的写法,不传入整个item,而是传入item对象中对应的字段内容

return [scrapy.Request(url=item['image_urls'], meta={'images': item['images']})]
import re
import scrapy
from scrapy.pipelines.images import ImagesPipelineclass FabiaoqingPipeline(ImagesPipeline):"""下载发表情网的表情包管道类"""def get_media_requests(self, item, info):"""对每一个表情包发起请求"""# return [scrapy.Request(url=item['image_urls'])]# 传入meta为后续的自定义文件名做准备# return [scrapy.Request(url=item['image_urls'], meta={'item': item})]return [scrapy.Request(url=item['image_urls'], meta={'images': item['images']})]def file_path(self, request, response=None, info=None, *, item=None):"""图片保存的路径(子路径)"""# 以下载路径的最后一段为文件名# img_name = request.url.split('/')[-1]# print(img_name)# return img_name# # 自定义文件名# item = request.meta['item']     # 从meta中获取item对象# img_name = item['images']# # 有些表情包的名字包含特殊字符,导致不能保存,需要改一改# img_name = re.sub(r'[\/:*?"<>|\n]', '', img_name)# # 因为有些是gif,有些是jpg,所以文件后缀不能写死# img_type = request.url.split('.')[-1]# img_path = img_name + '.' + img_type# print(img_path)# return img_path# 这样就可以,奇怪img_name = request.meta['images']# 有些表情包的名字包含特殊字符,导致不能保存,需要改一改img_name = re.sub(r'[\/:*?"<>|\n]', '', img_name)# 因为有些是gif,有些是jpg,所以文件后缀不能写死img_type = request.url.split('.')[-1]img_path = img_name + '.' + img_typeprint(img_path)return img_pathdef item_completed(self, results, item, info):"""将item传递给下一个管道类"""return item打印结果:
我他妈创死你.jpg
你爹来啰.gif
叫我一声宝贝跨年你就不是一个人了.jpg
2022一定暴富(熊猫头表情包).gif
已经2022年了.gif
叫我一声老婆跨年你就不是一个人了.jpg
你爹来咯 你爹来啰.gif
下次失眠时再见哦.jpg
我虽然卷但我还是菜.jpg
派大星Q弹の屁股 快跑.gif
你想破我防.jpg
敲你脑袋动图表情包.gif
干啥啥不行网上冲浪第一名.jpg
很黄的菜狗.jpg
指腚行!(指定行).jpg
无语蛋(滴汗表情包).jpg
我真的很想融入你们但是我要加班.gif
上号 英雄联盟手游熊猫头表情包.gif
恭喜你!你已被困困猫造访啦!从现在开始不管你在干什么你都会困得京不开眼!.jpg
为我们的无语干杯.gif
你这么可爱我一定要敲这样我就是敲可爱的.jpg
宝贝嘴一个开心s啦(库洛米表情包).jpg
老婆 开门 是我 我回来了 开个门吧 啊?没有喝酒呀 心虚 修勾敲门表情包.gif
滴汗小黄脸圣诞衣圣诞帽表情包.gif
2022一定能恋爱 熊猫头表情包.jpg
满眼都是你你你你.jpg
臭屁攻击.gif
少爷小姐起床啦.gif
3d指人表情包  警告1次.gif
挠痒痒挠屁股动图表情包.gif
达咩色色.jpg
被指到的人做三个提肛运动就现在.jpg
猫咪探头观察 GIF 动图表情包.gif
你看又生气了.jpg
无语 滴汗表情包.gif
Ji 坏蛋坏蛋大坏蛋.gif
没人喜欢我.jpg
雀跃的小腿跳起来 GIF 动图.gif
1)60这话里有话啊(微信聊天框表情包).gif
莓事(水果谐音表情包).jpg
波吉大哭动图表情包.gif
抱抱充电.gif
伤心蛙给你一拳.gif
群伸手党时不时来白嫖表情(群聊表情包).jpg
妈!大嘴猫表情包.jpg
我他妈创死你.jpg
我他妈创死你.jpg
叫我一声宝贝跨年你就不是一个人了.jpg
叫我一声宝贝跨年你就不是一个人了.jpg
2022一定暴富(熊猫头表情包).gif
2022一定暴富(熊猫头表情包).gif
已经2022年了.gif
已经2022年了.gif
你爹来啰.gif
你爹来啰.gif
你看又生气了.jpg
你看又生气了.jpg
Ji 坏蛋坏蛋大坏蛋.gif
Ji 坏蛋坏蛋大坏蛋.gif
雀跃的小腿跳起来 GIF 动图.gif
雀跃的小腿跳起来 GIF 动图.gif
没人喜欢我.jpg
没人喜欢我.jpg
达咩色色.jpg
达咩色色.jpg
下次失眠时再见哦.jpg
下次失眠时再见哦.jpg
你想破我防.jpg
你想破我防.jpg
我真的很想融入你们但是我要加班.gif
我真的很想融入你们但是我要加班.gif
滴汗小黄脸圣诞衣圣诞帽表情包.gif
滴汗小黄脸圣诞衣圣诞帽表情包.gif
无语蛋(滴汗表情包).jpg
无语蛋(滴汗表情包).jpg
很黄的菜狗.jpg
很黄的菜狗.jpg
干啥啥不行网上冲浪第一名.jpg
干啥啥不行网上冲浪第一名.jpg
2022一定能恋爱 熊猫头表情包.jpg
2022一定能恋爱 熊猫头表情包.jpg
宝贝嘴一个开心s啦(库洛米表情包).jpg
宝贝嘴一个开心s啦(库洛米表情包).jpg
你爹来咯 你爹来啰.gif
你爹来咯 你爹来啰.gif
叫我一声老婆跨年你就不是一个人了.jpg
叫我一声老婆跨年你就不是一个人了.jpg
你这么可爱我一定要敲这样我就是敲可爱的.jpg
你这么可爱我一定要敲这样我就是敲可爱的.jpg
挠痒痒挠屁股动图表情包.gif
挠痒痒挠屁股动图表情包.gif
我虽然卷但我还是菜.jpg
我虽然卷但我还是菜.jpg
被指到的人做三个提肛运动就现在.jpg
被指到的人做三个提肛运动就现在.jpg
指腚行!(指定行).jpg
指腚行!(指定行).jpg
恭喜你!你已被困困猫造访啦!从现在开始不管你在干什么你都会困得京不开眼!.jpg
恭喜你!你已被困困猫造访啦!从现在开始不管你在干什么你都会困得京不开眼!.jpg
群伸手党时不时来白嫖表情(群聊表情包).jpg
群伸手党时不时来白嫖表情(群聊表情包).jpg
莓事(水果谐音表情包).jpg
莓事(水果谐音表情包).jpg
满眼都是你你你你.jpg
满眼都是你你你你.jpg
1)60这话里有话啊(微信聊天框表情包).gif
1)60这话里有话啊(微信聊天框表情包).gif
无语 滴汗表情包.gif
无语 滴汗表情包.gif
猫咪探头观察 GIF 动图表情包.gif
猫咪探头观察 GIF 动图表情包.gif
伤心蛙给你一拳.gif
伤心蛙给你一拳.gif
上号 英雄联盟手游熊猫头表情包.gif
上号 英雄联盟手游熊猫头表情包.gif
敲你脑袋动图表情包.gif
敲你脑袋动图表情包.gif
为我们的无语干杯.gif
为我们的无语干杯.gif
少爷小姐起床啦.gif
少爷小姐起床啦.gif
派大星Q弹の屁股 快跑.gif
派大星Q弹の屁股 快跑.gif
波吉大哭动图表情包.gif
波吉大哭动图表情包.gif
抱抱充电.gif
抱抱充电.gif
3d指人表情包  警告1次.gif
3d指人表情包  警告1次.gif
臭屁攻击.gif
臭屁攻击.gif
老婆 开门 是我 我回来了 开个门吧 啊?没有喝酒呀 心虚 修勾敲门表情包.gif
老婆 开门 是我 我回来了 开个门吧 啊?没有喝酒呀 心虚 修勾敲门表情包.gif

这一次打印的结果更加奇怪,基本上是每一个都出现了重复

但是!更奇怪的是,结果竟然没有问题,我们来看看

共45个项目,数量上没有问题,文件名也是自定义的,是它们原来的名称,内容也没有问题,是一一对应的,就很莫名其妙!

明明从上到下都是问题,但偏偏结果没有问题。


从某种意义上来讲,问题已经解决了,但又没完全解决。

Scrapy爬取图片自定义图片文件名时出现的问题相关推荐

  1. Scrapy爬取美女图片续集 (原创)

    上一篇咱们讲解了Scrapy的工作机制和如何使用Scrapy爬取美女图片,而今天接着讲解Scrapy爬取美女图片,不过采取了不同的方式和代码实现,对Scrapy的功能进行更深入的运用. 在学习Scra ...

  2. Scrapy爬取图片并重命名总结

    文章目录 Scrapy爬取图片并重命名总结 项目分析: 开始项目: 启动项目: 总结 Scrapy爬取图片并重命名总结 项目分析: 1.现在很多网页都是动态加载资源,数据都不在静态html模板上,都是 ...

  3. Scrapy爬取ammmi图片

    Scrapy爬取ammmi图片 相关配置: python version:3.7 IDE:Pycharm environment:windows10 Framework:Scrapy 相关链接: We ...

  4. Scrapy爬取美女图片续集

    上一篇咱们讲解了Scrapy的工作机制和如何使用Scrapy爬取美女图片,而今天接着讲解Scrapy爬取美女图片,不过采取了不同的方式和代码实现,对Scrapy的功能进行更深入的运用. 在学习Scra ...

  5. Scrapy爬取图片网站——最详细的入门爬虫教程,新手入门干货,不进来看一下?

    开始前准备 这次爬虫使用scrapy,所以用到的工具必然是python3.7,scrapy,pycharm这些东西, 目标网站:http://pic.netbian.com 彼岸图网,个人非常喜欢的图 ...

  6. scrapy爬取昵图网图片

    一 : 创建scrapy项目 (1) 使用命令创建项目 : scrapy startproject nipic[项目名可以随意] (2) 使用命令创建一个爬虫文件 : scrapy genspider ...

  7. python使用scrapy爬取图片

    在前面的章节中都介绍了scrapy如何爬取网页数据,今天介绍下如何爬取图片. 下载图片需要用到ImagesPipeline这个类,首先介绍下工作流程: 1 首先需要在一个爬虫中,获取到图片的url并存 ...

  8. python网络爬虫之使用scrapy爬取图片

    在前面的章节中都介绍了scrapy如何爬取网页数据,今天介绍下如何爬取图片. 下载图片需要用到ImagesPipeline这个类,首先介绍下工作流程: 1 首先需要在一个爬虫中,获取到图片的url并存 ...

  9. scrapy爬取美女图片

    使用scrapy爬取整个网站的图片数据.并且使用 CrawlerProcess 启动. 1 # -*- coding: utf-8 -* 2 import scrapy 3 import reques ...

最新文章

  1. 活久见!如何看待北京理工大学某硕士生被指几乎一字不差地抄袭论文?
  2. C++中 Vector使用方法
  3. join left semi_HIVE--left semi join
  4. 速达财务3000服务器账套维护显示,速达3000财务软件使用常见问题
  5. Linux通过端口查找tomcat的路径
  6. Android性能优化之内存篇
  7. eclipse设置内存参数 堆内存溢出
  8. 计算机中丢失api-ms-win-crt-locale,API-MS-WIN一系列丢失DLL打包
  9. Linux 下五个顶级的开源命令行 Shell
  10. DucleBox | A Game Engine for OpenGL Programming
  11. AI 假冒老板骗取 173 万!
  12. oauth2.0了解
  13. python技巧——list comprehension vs map
  14. 输出重定向与输入重定向
  15. 安装SQL Server 2012遇到“需要更新的以前的Visual Studio 2010实例.”
  16. coreldraw x4忽略视图样式补丁_80%的人都忽略了PPT画布之外的用法,但这6点真的很实用...
  17. 《云计算:原理与范式》一3.2 知识经济时代的来临
  18. 在线qmc0转换mp3工具_音乐格式转换
  19. android m4a转mp3格式转换,音频提取格式转换app
  20. 神仙打架?苹果短暂撤销 Facebook 和 Google 的企业证书

热门文章

  1. Android的无边界程序设计理念
  2. FPGA学习笔记18--8位加法器
  3. 实践练习1:OceanBase Docker 体验
  4. Android开发中app图标更换
  5. 如何辨别网络入侵检测系统(IDS)的性能
  6. IBM实习生笔试题目(2)
  7. 如何高效地检索和审阅专利:研究人员可能用到的一些小技巧
  8. 六层PCB板是怎么拼出来的?
  9. HDU-1427-速算24点
  10. 什么是标准半峰宽度,如何得到?