目录
一、scrapy爬取58同城时,response.xpath()返回空列表错误
一、scrapy爬取58同城时,response.xpath()返回空列表错误
刚开始以为是xpath路径没对,但是试过很多次,在谷歌中xpath插件都是正确定位,一直返回空列表,用这个直接复制的xpath路径,依然返回空列表。
最后破案了!!!不知道什么原因我的url只有半截!!!(气死了)我需要的url:
但是我创建这个文件的时候粘贴到cmd中是正确完整的网址,到pycharm中打开就只剩了半截,变成了’yc.58.com’!!!!
这么一个小问题,浪费我一个小时…….
路径改对后就能成功返回了:
还有一个关于url的注意事项,如果后缀是.html时,不能在最后加/
在后面加/会出现:404
二、scrapy没有返回我们想要的数据
一定要检查一下xpath对不对!!!
一直没返回,试了n种方法,而且我的xpath是跟着尚硅谷一样敲的,所以就没怀疑是它的问题,把cookie加了UA也加了一直没有返回值,最后发现是xpath不对
改了之后就可以正常返回了:
三、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,交给调度器处理
Original: https://blog.csdn.net/m0_64139004/article/details/127936748
Author: 坞吾5雾
Title: Python Scrapy遇到的问题(已解决)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/790000/
转载文章受原作者版权保护。转载请注明原作者出处!