## 微博评论爬取出现“U+200E、U+202E和U+202C”奇怪字符的原因是什么?如何解决?

## 微博评论爬取出现“u+200e、u+202e和u+202c”奇怪字符的原因是什么?如何解决?

python爬取微博正常评论出现奇怪字符的原因

在爬取微博评论时,你可能会遇到一些奇怪的字符串,如u+200e、u+202e和u+202c。这些字符不会影响文本的正常显示,但会干扰后续处理。

原因:方向格式控制符

u+202e和u+202c是方向格式控制符,用于控制文本的显示方向。u+202e表示从右向左显示,u+202c表示取消方向格式。因此,当评论中包含这些字符时,字符顺序会被打乱。

解决方案:删除方向格式控制符

为了获得正常的文本,需要删除这些方向格式控制符。可以使用正则表达式:

reversedre = re.compile(r'\u202e(.*?)(?:\u202c|$)', re.dotall)

然后,使用以下代码替换评论中的特殊字符:

import re

s = '\u202ecba\u202cdef\u202eihg\u202c'
s = reversedre.sub(lambda m: m[1][::-1], s)

输出:

cbadefghi

注意:

执行此操作时,请确保文本中没有其他需要从右向左显示的内容。

以上就是## 微博评论爬取出现“U+200E、U+202E和U+202C”奇怪字符的原因是什么?如何解决?的详细内容,更多请关注其它相关文章!