Scrapy输出文件格式问题汇总

Posted renzongxian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scrapy输出文件格式问题汇总相关的知识,希望对你有一定的参考价值。

Q:Scrapy抓取的内容(包含中文)输出到JSON Lines文件时如何确保输出的是字符本身而不是其unicode编码?
A:默认的JsonLinesItemExporter其ensure_ascii属性为True,使得在ASCII字符集中包含的字符才能输出字符本身,其他的字符(如各种东亚语言)则输出其unicode编码。在piplines.py中添加如下代码,将JsonLinesItemExporter的ensure_ascii设置为False。

class CustomJsonLinesItemExporter(JsonLinesItemExporter):
    def __init__(self, file, **kwargs):
        # 将超类的ensure_ascii属性设置为False, 确保输出中文而不是其unicode编码
        super(CustomJsonLinesItemExporter, self).__init__(file, ensure_ascii=False, **kwargs)

Q:输出为csv文件时,Scrapy的CsvItemExporter输出的文件每行后面为何会多一行空行?
A:参考Stack Overflow

To fix this in Scrapy 1.3, you can patch it by adding newline=‘‘ as parameter to io.TextIOWrapper in the init method of the CsvItemExporter class in scrapy.exporters.



以上是关于Scrapy输出文件格式问题汇总的主要内容,如果未能解决你的问题,请参考以下文章

Scrapy spider 输出 empy csv 文件

scrapy主动退出爬虫的代码片段(python3)

scrapy按顺序启动多个爬虫代码片段(python3)

Python - Scrapy到Json输出分裂

常用技术汇总

Scrapy爬虫错误日志汇总