UnicodeEncodeError: ‘UCS-2‘ codec can‘t encode characters in position 4-4:。。。解决

教程里面的编译运行正常,代码如下:

#-*-coding:utf8-*-
import requests
import json


head = {'User-Agent': \
            'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36'}

jscontent = requests.get('http://coral.qq.com/article/1165021596/comment?commentid=0&reqnum=50',\
                         headers=head).content
jsDict = json.loads(jscontent)
jsData = jsDict['data']
comments = jsData['commentid']
for each in comments:
    print(each['content'])

我编译运行下面的的内容出错:UnicodeEncodeError: 'UCS-2' codec can't encode characters in position 4-4: Non-BMP character not supported in Tk。

在网上查了下,修改后正常

#-*-coding:utf8-*-
from urllib.parse import urlencode
import requests
import json

import sys

non_bmp_map = dict.fromkeys(range(0x10000,sys.maxunicode + 1),0xfffd)




head = {'User-Agent': \
            'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36'}

jscontent = requests.get('http://coral.qq.com/article/1165021596/comment?commentid=0&reqnum=50',\
                         headers=head).content
jsDict = json.loads(jscontent)
jsData = jsDict['data']
comments = jsData['commentid']
for each in comments:
    print(each['content'].translate(non_bmp_map))

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值