登录
首页 >  文章 >  python教程

微博评论文本乱码:为什么爬取的微博评论全是杂乱字符,如何解决?

时间:2024-11-15 17:45:55 115浏览 收藏

小伙伴们有没有觉得学习文章很有意思?有意思就对了!今天就给大家带来《微博评论文本乱码:为什么爬取的微博评论全是杂乱字符,如何解决?》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

微博评论文本乱码:为什么爬取的微博评论全是杂乱字符,如何解决?

获取微博评论文本不正常:杂乱字符和方向问题

在使用 requests 库爬取微博堕胎评论时,遇到了奇怪的字符串问题。提取到的字符串含有特殊字符“u200e”、“u202e”、“u202c”,在屏幕打印、pandas 数据框显示时正常,但下标访问或遍历时仍出现这些字符,且顺序混乱。

尽管微博网页和响应编码都为 utf-8,但为何会出现这种问题?

原因在于:

  • “u202e”和“u202c”是方向格式控制符。
  • “u202e”将后面字符从右向左显示,“u202c”取消这种格式。

解决方案:

使用正则表达式删除方向格式控制符,然后反转中间字符即可。

import re

reversedRE = re.compile(r'\u202E(.*?)(?:\u202C|$)', re.DOTALL)

s = '\u202Ecba\u202Cdef\u202Eihg\u202C'
print(s)
s = reversedRE.sub(lambda m: m[1][::-1], s)
print(s)  # abcdefghi

理论要掌握,实操不能落!以上关于《微博评论文本乱码:为什么爬取的微博评论全是杂乱字符,如何解决?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>