关于scrapy无法下载图片 pipeline不执行 解决办法 记一次大坑

2021/4/30 10:28:47

本文主要是介绍关于scrapy无法下载图片 pipeline不执行 解决办法 记一次大坑,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

关于scrapy无法下载图片 pipeline不执行 解决办法 记一次大坑

出现的问题点:scrapy运行正常,pipeline管道经过测试是没有运行的。判断已经主要是并没有创建设置的IMAGES_STORE
提前指出解决的办法,主要是没有依赖处理图片的第三库pillow

pip install -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com pillow

经历过程及背景

首先是最近电脑刚重装系统,python环境也是重装了。所以一些第三方库会有缺失.起初是对运行环境有疑虑的,但是具体的不确定,所以折腾了很久(大概一个星期)也没结果。主要也是对scrapy的运行结果不了解。

一些尝试

首先应该要注意的是当然是代码部分,反复查看百度搜索到的博客文档,结果是千篇一律。主要是有两种方法:1.是使用原始的ImagesPipeline(简便,图片名称是HASH值)。2.是修改ImagesPipeline类的file_path方法,就可以修改图片名称。这两种方法都是相对固定的可以直接照抄复制,只要修改设置相关的IMAGES_STORE(设置路径,文件会自动创建)与ITEM_PIPELINES = {‘scrapy.contrib.pipeline.images.ImagesPipeline’: 1}(打开ITEM_PIPELINES并设置成),以及编写spider好的解析即可。还是十分的简单,当然也要搞清楚这些设置的含义。

进一步研究

上面的方法尝试N次,说明问题并不出在代码及相关的设置。于是需要加深自己的理解,寻找新的解决方法。期间也有继续重新观看之间的视频确认自己的代码是否有遗漏。
最后不得已,还是老实的查看官方文档吧。scrapy官方中文0.24.6
里面的讲的流程也是比较简单,但是不方便理解。跟一些博客的写法是相关的,都是依据这个来的。不过里面多了一个缩略图和过滤图片。而恰恰问题就出在了这里,因为这些处理是要依赖pillow第三方库的,当时并没有在意!!!
学习scrapy下载图片文档
在这里插入图片描述

最后的最后分析尝试(倔强.gif)

其实也是大概清楚的可能是环境问题(毕竟重装了环境)。看来官方文档也看来去试着去看了源码。对这些相关的运行流程、设置有了具体的很深的理解(好处、过程特别痛苦)。其实最后想想最应该查看的是scrpy的运行日志,里面包含了完整的运行过程。只是真的很难看懂,都是惨白的英文。但是就是这样才找到了问题的所在,对 就是pillow导致的![官方文档指出的,其它教程并未发现](https://www.www.zyiz.net/i/ll/?i=20210430093814366.png?,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjQ2NDg4NQ==,size_16,color_FFFFFF,t_70#pic_center)
这是卸载没安装的pillow的日志

总结一下

经过上边种种的尝试还是感觉十分的奔溃的,因为不太具体的清楚知道问题所在,也不方便处理。不过整体的过程下来经历查文档、日志不断的调试改进代码并分析,对于scrapy有根深的理解。
后续也会继续编写scrapy安装使用相关的教程,为的是加深理解。



这篇关于关于scrapy无法下载图片 pipeline不执行 解决办法 记一次大坑的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程