Python: 'gbk' codec can't encode character '\u30fb' in position 0: illegal multibyte sequence

在Python中处理文件时,经常遇到'gbk' codec无法编码特定字符的错误,如'u30fb'。此问题源于文件编码和数据编码的不匹配。解决方案通常涉及正确使用encode和decode方法,确保数据以正确的编码写入文件。在Windows环境下,新建文件默认编码为GBK,而网络数据可能为UTF-8,导致冲突。通过指定目标文件的UTF-8编码,可以避免UnicodeEncodeError。
摘要由CSDN通过智能技术生成

先上代码:

代码是通过爬去王者荣耀官方网站的数据,然后再写入文件中,获取的英雄,铭文等信息写入时都没有问题,但是写入装备信息时就出现编码的问题了

 

# -*- coding: utf-8 -*-
"""
Created on Thu Nov 16 16:25:44 2017

@author: 10183930
"""

import requests
import csv
import re
import os

JSONHEAD = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36'}

def getHeroinfo():
    HERO = 'http://pvp.qq.com/web201605/js/herolist.json'
    html_hero = requests.get(HERO,headers=JSONHEAD)
    html_hero = requests.get(HERO)
    html_hero_json = html_hero.json()
    #获取英雄列表
    hero_name = list(map(lambda x:x['cname'],html_hero_json))
    hero_number = list(map(lambda x:x['ename'],html_hero_json))
    hero_type = list(map(lambda x:x['hero_type'],html_hero_json))
    #hero_type2 = list(map(lambda x:x['hero_type2'],html_hero_json))
    
    return zip(hero_name,hero_number,hero_type)




def getIteminfo():
    ITEM = 'http://pvp.qq.com/web201605/js/item.json'
    html_item = requests.get(ITEM,headers=JSONHEAD)
    html_item = requests.get(ITEM)
    html_item_json = html_item.json()
    #获取装备列表
    item_name = list(map(lambda x:x['item_name'],html_item_json))
    item_des = list(map(lambda x:x['des1'],html_item_json))
    
    return zip(item_name,item_des)



def getSummonerinfo():
    SUMMONER = 'http://pvp.qq.com/web201605/js/summone
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值