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

ID:19645 / 打印

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

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

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

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

原因在于:

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

解决方案:

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

import re  reversedRE = re.compile(r'u202E(.*?)(?:u202C|$)', re.DOTALL)  s = 'u202Ecbau202Cdefu202Eihgu202C' print(s) s = reversedRE.sub(lambda m: m[1][::-1], s) print(s)  # abcdefghi
上一篇: 为什么 Docker Compose 从 Python 转向 Go?
下一篇: ## 微博评论爬取出现“U+200E、U+202E和U+202C”奇怪字符的原因是什么?如何解决?

作者:admin @ 24资源网   2025-01-14

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。