phthon踩雷(二):UnicodeEncodeError: ‘UCS-2‘ codec can‘t encode characters in position...

2024-04-28 04:18

本文主要是介绍phthon踩雷(二):UnicodeEncodeError: ‘UCS-2‘ codec can‘t encode characters in position...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

报错如下:

UnicodeEncodeError: 'UCS-2' codec can't encode characters in position 3298-3298: 
Non-BMP character not supported in Tk

翻译一下就是:

Unicode编码错误:'UCS-2’编码器不能编码在3298-3298这个位置的字符类:
Non-BMP 字符类在Tk中不被支持。

大致就是这么个意思,翻译的不一定准,但是大致意思就是某行代码让编译器出现了问题,不能编译了。

解决:
俗话说的好,‘如果不能解决问题,那就把出现问题的代码解决掉’,这样不就没问题了吗? 没错,就是这么个思路!

排查: 所写代码如下

import requests
from bs4 import BeautifulSoupurl = 'https://movie.douban.com/top250'
headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3','Accept-Encoding': 'gzip, deflate, br','Cache-Control': 'max-age=0','Connection': 'keep-alive','Cookie': 'douban-fav-remind=1; bid=QhopwFw0HcQ; __utmz=30149280.1586506561.6.5.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; _pk_ses.100001.4cf6=*; __utma=30149280.1613818664.1547469206.1586506561.1594137884.7; __utmb=30149280.0.10.1594137884; __utmc=30149280; __utma=223695111.510808800.1561795806.1561795806.1594137884.2; __utmb=223695111.0.10.1594137884; __utmc=223695111; __utmz=223695111.1594137884.2.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); ap_v=0,6.0; _pk_id.100001.4cf6=b46c129b3f0ba258.1561795806.2.1594137900.1561795859.','Host': 'movie.douban.com','Sec-Fetch-Mode': 'navigate','Sec-Fetch-Site': 'none','Sec-Fetch-User': '?1','Upgrade-Insecure-Requests': '1','User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36'}
res = requests.get(url, headers=headers)
html = res.text
# soup = BeautifulSoup(html, 'html.parser')
print(html)

经过仔细查找,发现headers里面有一句和encoding编码相关的代码'Accept-Encoding': 'gzip, deflate, br', ,就是这句了,翻译一下就是‘可以接受的编码有xxx’,不包含我们需要的呀。 所以 干脆把这代码干掉!!

修改后的代码如下:

import requests
from bs4 import BeautifulSoupurl = 'https://movie.douban.com/top250'
headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',# 'Accept-Encoding': 'gzip, deflate, br','Cache-Control': 'max-age=0','Connection': 'keep-alive','Cookie': 'douban-fav-remind=1; bid=QhopwFw0HcQ; __utmz=30149280.1586506561.6.5.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; _pk_ses.100001.4cf6=*; __utma=30149280.1613818664.1547469206.1586506561.1594137884.7; __utmb=30149280.0.10.1594137884; __utmc=30149280; __utma=223695111.510808800.1561795806.1561795806.1594137884.2; __utmb=223695111.0.10.1594137884; __utmc=223695111; __utmz=223695111.1594137884.2.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); ap_v=0,6.0; _pk_id.100001.4cf6=b46c129b3f0ba258.1561795806.2.1594137900.1561795859.','Host': 'movie.douban.com','Sec-Fetch-Mode': 'navigate','Sec-Fetch-Site': 'none','Sec-Fetch-User': '?1','Upgrade-Insecure-Requests': '1','User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36'}
res = requests.get(url, headers=headers)
html = res.text
# soup = BeautifulSoup(html, 'html.parser')
print(html)

咦?!搞定了!! 哈哈哈, 没想到吧。 这个思路也不错吧~~

如果有更好的方法,或者有更好的解释,欢迎评论区留言讨论。加油!

这篇关于phthon踩雷(二):UnicodeEncodeError: ‘UCS-2‘ codec can‘t encode characters in position...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/942306

相关文章

background-position切图

老生常谈,网上也很多,但是还是记下。 .overview-user-icon {background-image: url('../../../../static/imgs/overview-201811161524.svg');width: 24px;height: 24px;display: inline-block;background-size: 475% 458.3333333333

php json_encode 大括号中括号

当array是一个从0开始的连续数组时,json_encode出来的结果是一个由[]括起来的字符串。 而当array是不从0开始或者不连续的数组时,json_encode出来的结果是一个由{}括起来的key-value模式的字符串。 当字符串为[1,1,1] 这种模式时,json_decode默认解析出来的结果是一个数组。 当字符串为{"1":1,"2":1} 这种模式时,json_

float和position的区别

相同:设置后,对应的模块都会脱离文档流 不同点:position相应的块级元素会覆盖下面的内容(文字,),而float只会覆盖块级元素,里面的文字会脱离 出来 float是浮动定位,position是绝对定位 文档流是文档中可显示对象在排列时所占用的位置。 快级元素 在做页面布局的时候,一般会将html元素分为两种,即块级元素和行内元素。

Python 全栈系列255 UCS实践:按ID同步数据

说明 这是一个常见的使用场景,实测下来效果良好。 内容 1 实验场景 将库中所有的数据取出,送到队列 本质上,这是一种单向不返回的模式。除了在遍历全库有用,在进行回测时也是一样的,时间就是单向不返回的。 通过UCS,将任意离散的数据记录归并到了一个更大的单位下。按照brick、block、part、shard四个层级,使得数据的管理兼顾到人的记忆特性,以及程序批量处理的效率。一个

各种位置和高度计算:.position()、.offset()、.outerHeight()、.scrollTop、.scrollHeight、.clientHeight

1、.position()和.offset() jquery的.position()获取相对于最近的position为relative或absolute的父元素的偏移,返回.position().left和.position().top,不算上自己的margin-left; jquery的.offset()获取相对于视口左上角的偏移,返回.offset().left和.offset().top

3. Longest Substring Without Repeating Characters 无重复字符的最长子串

https://leetcode.com/problems/longest-substring-without-repeating-characters/description/ 题目大意:给一个字符串,要求出最长的不含重复字符子串(要求连续,不是子序列). 解题思路:不重复,利用哈希表.hash是以字符的ASC为下标的数组,对应存储该字符最后出现的位置. 设一个标记start,然后一次遍历

Reconstructing Position From Depth

需求: 根据当前像素的Depth计算出其View空间的Position 先说一种惯性思维的方法: 既然知道depth是怎么算出来的, 那么进行逆运算回去不就得到position了? 先说说depth是怎么出来的: Vertex shader: output.position = mul(input.postion, matWorldViewProject); output.depth

【深度学习】Position Wise 到底是什么,有什么用

1. 遇到的问题 今天在看 Transformers 的前生今世 的时候,又一次看到了 Position Wise ,经常看到但老是一知半解,故索性查了一下,发现网上的都没怎么细讲其缘由,有点差强人意,于是我又用咱们最喜欢的 GPT-4o 查了一下,感觉给的答案较为全面,故分享给大家。 2. 关于 Position Wise “Position Wise”在神经网络和深度学习领域通常指的是一

JM8.6中的encode_one_macroblock注释

原文转自:http://www.cnblogs.com/xkfz007/archive/2011/04/04/2005286.html 下面是在阅读JM8.6的过程中,对encode_one_macroblock的注释。 /*!  ******************************************************************************