scrapy抓取结果保存为文件,如何解决中文乱码问题?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
又是中文乱码问题,本文介绍scrapy
保存结果到json
或者xml
文件的时候,中文乱码的问题。那么,该如何才能解决这个问题呢?
大家好,这里是苏南大叔的“程序如此灵动”博客。本文解决scrapy
抓取文章结果乱码的问题。本文测试环境:win10
,python@3.6.8
,scrapy@2.5.1
。
建立蜘蛛项目
如何建立一个scrapy
蜘蛛项目,详情请参考下面的链接:
创建一个新的项目su
,新建一个名为example
的蜘蛛,目标网站是example.com
。
scrapy startproject su
cd su
scrapy genspider example example.com
这一步就是基本操作,主要是交代一下项目运行的背景。
运行蜘蛛项目
那么,如何运行这个新建的example
蜘蛛呢?
直接运行:
scrapy crawl example
把结果保存到json
文件:
scrapy crawl example -o result.json
解决方案
处理json
文件里面中文乱码的问题:
scrapy crawl example -o result.json -s FEED_EXPORT_ENCODING=utf-8
解决方案的核心内容就是:
-s FEED_EXPORT_ENCODING=utf-8
相关链接:
额外提示
json
文件的写入,是个append
追加模式。也就是说:多次运行的话,是获得个多次的结果叠加。- 最终的
json
文件存在一定概率,是个非法格式的json
文件的可能性。主要原因可能是程序异常终止,没有写入数组的结尾符号。 json
文件的内容,并不是及时写入的。所以,主动关闭正在运行中的scrapy
命令的话,可能会丢失数据。主动ctrl+c
停止运行,是可以触发缓存内容正常输出的。
相关链接
- https://newsn.net/say/scrapy-startproject.html
- https://newsn.net/say/scrapy-exports.html
- https://newsn.net/say/vscode-coderunner.html
- https://newsn.net/say/electron-cmd-cn.html
总结
又是中文乱码问题,总是少不了encoding
的设置问题。更多scrapy
经验文字,请点击:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。