Scrapy项目unicodeDecodeError_ascii错误的解决

在使用Scrapy爬取包含中文数据的网页时,遇到将数据保存到JSON文件时出现unicodeDecodeError_ascii错误。为了解决这个问题,需要在调用json.dump()函数时添加特定参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在编写scrapy爬虫的时候,从网页爬取的数据有中文,保存到json文件后显示为unicode的形式。在网上百度了一下,说是要在json.dump函数中设置参数:

 ensure_ascii=False
import json
import chardet
import sys
class SisPipeline(object):
    def __init__(self):
        self.file = open(r'D:\sis\sis\items.jl', 'wb')
    def process_item(self, item, spider):
        line = json.dumps(dict(item),ensure_ascii=False,encoding='windows-1252') + "\n"
        self.file.write(line,)
        return item
    
但是一设置这个参数就报错ascii codec cant encode the character
于是网上百度
应该是出了编码问题,谷歌了一下找到了解决方案: 
在python的Lib/site-packages文件夹下新建一个sitecustomize.py:
import sys    
sys.setdefaultencoding('gb2312')
问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值