按照上一讲的代码,最后的json是这样子的。
显然和我们想要的结果不一样,你可以去上一讲看看我们的结果应该是什么样的。在说问题出在哪里之前,我们先来试一个东西,,删掉一个ms。
发现出错了,错误代码就是因为少了ms,说明这里一定要注意items的定义和从spider传往items pipelines的内容一定要匹配。
下面就来找错误在哪里,首先title和url顺序反了,这个好解决,不是问题,关键在于输出的东西不是我们的预期,我们一点一点调试吧,首先在scrapy shell 的结果是很好的,说明问题应该出在我们之后修改spider的时候。先仔细的看一下,如果spider里这么写。
爬的时候其实是有问题的,因为第二个resourse网站根本就没有去爬。
然后换一下顺序。
就是两个网站都爬。后面也许会说到这里的原因,如果没有,那么就是我自己水平也有限了。
输出一下。
结果如下。
你可以去对比,是没有问题的。关于这个return呢,我这里放两个gif,你们就知道怎么回事了。
对应是
在看一下:
如果不加return c,导出会是什么结果呢?
说明为了导出结果,parse函数是必须有return 的,并且导出的不是一次的c,因为如果只是一次的c,那么后面的book会把前面的resourse覆盖的。导出的是所有返回的c。
由于最近在学linux,python的课程先放一下,我就先把上一讲里scrapy出现的问题处理了一下,这段时间可能都会发一些linux的文章了。