scrapy爬虫系列:scrapy 数据如何导出为不同文件格式?
发布于 作者:苏南大叔 来源:程序如此灵动~
在第一个scrapy
范例中,苏南大叔按照官方教程,得到了一个.json
文件。那么本文中,大家就一起发散一下思维。如果我们想要的是个xml
文档呢?如果是其它的一些格式呢?
这就是本文的主要讨论内容:scrapy
如何控制导出文件格式。
支持导出为.json
/.xml
/.csv
/.jl
常见格式
这些常见的格式中,scrapy
支持导出为.json
文件,还可以导出为.xml
文件,还可以导出为.csv
文件。下面给出基于上述基本例子的不同命令及结果。
scrapy runspider quotes_spider.py -o quotes.json
scrapy runspider quotes_spider.py -o quotes.xml
scrapy runspider quotes_spider.py -o quotes.csv
scrapy runspider quotes_spider.py -o quotes.jsonlines
这个.jsonlines
/.jl
和.json
格式基本一致,不过,从编程角度上来说,.json
是个数组,.jsonlines
/.jl
不是数组。大家对比看看。下面的网址是.jsonlines
的官方说明网址:
csv
的效果不是很好,大家暂时放弃吧。xml
的效果非常不错。
支持导出如下不常见格式
苏南大叔,其实不知道.pickle
/.marshal
这两个格式,到底是用在什么地方的。所以就归类为不常见格式里面了。
scrapy runspider quotes_spider.py -o quotes.pickle
scrapy runspider quotes_spider.py -o quotes.marshal
相关链接
总结
这种导出数据的方式,还是有点应用场景的,比如用于不同系统的数据交换。比如在navicat
中,使用csv
/xml
作为中间交换格式,是非常常见的使用场景。对吧?
更多scrapy
的使用经验,请点击:https://newsn.net/tag/scrapy/ 。


