如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

在第一个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的官方说明网址:

scrapy爬虫系列:scrapy结果导出为不同文件格式 - json_vs_jsonlines
scrapy爬虫系列:scrapy结果导出为不同文件格式(图3-1)

csv的效果不是很好,大家暂时放弃吧。xml的效果非常不错。

scrapy爬虫系列:scrapy结果导出为不同文件格式 - xml_vs_xls
scrapy爬虫系列:scrapy结果导出为不同文件格式(图3-2)

支持导出如下不常见格式

苏南大叔,其实不知道.pickle/.marshal这两个格式,到底是用在什么地方的。所以就归类为不常见格式里面了。

scrapy runspider quotes_spider.py -o quotes.pickle
scrapy runspider quotes_spider.py -o quotes.marshal

scrapy爬虫系列:scrapy结果导出为不同文件格式 - unknown-format
scrapy爬虫系列:scrapy结果导出为不同文件格式(图3-3)

相关链接

总结

这种导出数据的方式,还是有点应用场景的,比如用于不同系统的数据交换。比如在navicat中,使用csv/xml作为中间交换格式,是非常常见的使用场景。对吧?

更多scrapy的使用经验,请点击:https://newsn.net/tag/scrapy/

 【python】秘籍文章入口,仅传授于有缘之人   python    scrapy

本站的忠实读者小伙伴,正在阅读下面这些文章:

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
欢迎指正文字或逻辑错误,将会择优在文末列出您的信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!