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

缺乏、安全感 2022-12-30 01:21 287阅读 0赞

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

  1. #-*-coding:utf8-*-
  2. import requests
  3. import json
  4. head = {'User-Agent': \
  5. 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36'}
  6. jscontent = requests.get('http://coral.qq.com/article/1165021596/comment?commentid=0&reqnum=50',\
  7. headers=head).content
  8. jsDict = json.loads(jscontent)
  9. jsData = jsDict['data']
  10. comments = jsData['commentid']
  11. for each in comments:
  12. print(each['content'])

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

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

  1. #-*-coding:utf8-*-
  2. from urllib.parse import urlencode
  3. import requests
  4. import json
  5. import sys
  6. non_bmp_map = dict.fromkeys(range(0x10000,sys.maxunicode + 1),0xfffd)
  7. head = {'User-Agent': \
  8. 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36'}
  9. jscontent = requests.get('http://coral.qq.com/article/1165021596/comment?commentid=0&reqnum=50',\
  10. headers=head).content
  11. jsDict = json.loads(jscontent)
  12. jsData = jsDict['data']
  13. comments = jsData['commentid']
  14. for each in comments:
  15. print(each['content'].translate(non_bmp_map))

发表评论

表情:
评论列表 (有 0 条评论,287人围观)

还没有评论,来说两句吧...

相关阅读