码迷,mamicode.com
首页 > 其他好文 > 详细

Scrapy输出文件格式问题汇总

时间:2018-08-06 22:40:30      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:ack   unicode编码   lock   格式   pat   默认   代码   super   pytho   

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输出文件格式问题汇总

标签:ack   unicode编码   lock   格式   pat   默认   代码   super   pytho   

原文地址:https://www.cnblogs.com/renzongxian/p/9433829.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!