继续学习Python下的scrapy爬虫
本次试验,尝试通过python爬虫中的管道文件来保存数据,爬虫代码如下:
return与yield的异同:
同:都用来获取数据
异:return表示的是爬虫获得数据返回后就结束执行:调用了前面函数后,返回固定值,不执行后面语句,并将其存在(items=[])列表中,其语句写在for语句外面;
yield 会在爬虫执行过程中一直获取值,并继续执行yield后面的语句。若将其写在for语句里面,会一直获取数据返回管道,直到for循环结束,适用于处理爬取大数据时。
注意,要想调用pipeline.py,首先必须要在setting.py中配置pipeline,如图所示:
在这里,数字的取值范围为1~1000,而且值越小,优先级越高。
接下来开始编写pipeline文件:
启动爬虫,结束后将在执行爬虫的目录中生成一个名为a.json的文件,文件预览入下图所示:
Done!