Python Scrapy遇到的问题(已解决)

目录

一、scrapy爬取58同城时,response.xpath()返回空列表错误

二、scrapy没有返回我们想要的数据

三、scrapy工作原理(非常重要!!!面试必考!!!)

一、scrapy爬取58同城时,response.xpath()返回空列表错误

Python Scrapy遇到的问题(已解决)

刚开始以为是xpath路径没对,但是试过很多次,在谷歌中xpath插件都是正确定位,一直返回空列表,用这个直接复制的xpath路径,依然返回空列表。

Python Scrapy遇到的问题(已解决)

最后破案了!!!不知道什么原因我的url只有半截!!!(气死了)我需要的url:

Python Scrapy遇到的问题(已解决)

但是我创建这个文件的时候粘贴到cmd中是正确完整的网址,到pycharm中打开就只剩了半截,变成了’yc.58.com’!!!!

这么一个小问题,浪费我一个小时…….

路径改对后就能成功返回了:

Python Scrapy遇到的问题(已解决)

还有一个关于url的注意事项,如果后缀是.html时,不能在最后加/

Python Scrapy遇到的问题(已解决)

在后面加/会出现:404

Python Scrapy遇到的问题(已解决)

二、scrapy没有返回我们想要的数据

一定要检查一下xpath对不对!!!

Python Scrapy遇到的问题(已解决)

一直没返回,试了n种方法,而且我的xpath是跟着尚硅谷一样敲的,所以就没怀疑是它的问题,把cookie加了UA也加了一直没有返回值,最后发现是xpath不对

改了之后就可以正常返回了:

Python Scrapy遇到的问题(已解决)

三、scrapy工作原理(非常重要!!!面试必考!!!)

1.引擎向spider要url
2.引擎将要爬取的url给调度器
3.调度器会将url生成请求对象放入到指定的队列中
4.从队列中出队一个请求
5.引擎将请求交给下载器进行处理
6.下载器发送请求获取互联网数据
7.下载器将数据返回给引擎
8.引擎将数据再次给到spiders
9.spiders通过xpath解析该数据,得到数据或者url
10.spiders将数据或者url给到引擎
11.引擎判断是数据还是url,是数据,交给管道(item pipeline)处理;是url,交给调度器处理

Python Scrapy遇到的问题(已解决)

Original: https://blog.csdn.net/m0_64139004/article/details/127936748
Author: 坞吾5雾
Title: Python Scrapy遇到的问题(已解决)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/790000/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球