繁体   English   中英

Twitter提取:特殊字符

[英]Twitter Extraction: Special Characters

我正在尝试提取一些用户的所有推文用于我的研究。 但是特殊字符被替换为“?” 符号。 我该如何克服呢?

例:

如果是,

“如果ωe给give一点爱,也许ωe可以改变ωorld。”

它存储为

“如果给人一点爱,也许可以改变这个世界。”

任何想法如何解决这个问题?

更新:

我做错了。 所以我更改了代码以处理UTF-8格式。

PrintStream out =新的PrintStream(System.out,true,“ UTF-8”);

out.println(rl_tweets);

现在它打印为

“如果give给爱人一点点爱,也许Ï可以改变or世俗。”

有一些特殊的方法可以对网站中的每个字母进行编码,以使浏览器了解在屏幕上打印哪个字符。 您可能必须解析代码并将字符更改为您用来显示程序的程序可以理解的字符(因为并非所有程序都能理解这种编码,这似乎是您的问题)。 因此,例如,您可以使解析器更改类似ñ 对应于html中的ñ ,对应于该字符的特定编码。 您可以在此处找到奇怪字符的html代码列表: http : //www.ascii.cl/htmlcodes.htm

这就是我必须编写爬虫程序并解析网页时要做的事情。 我希望这有帮助。

丹尼尔

您正在使用什么程序来获取数据?

让我们看一下其中包含这些字符的推文-https: //twitter.com/edent/status/473752539289366528

如果我们调用API https://api.twitter.com/1.1/statuses/show/473752539289366528.json

我们将此作为响应(被截断了)。

HTTP/1.1 200 OK

content-type: application/json;charset=utf-8
status: 200 OK

{
  "created_at": "Tue Jun 03 09:06:21 +0000 2014",
  "id": 473752539289366500,
  "id_str": "473752539289366528",
  "text": "@test If ωe give ɑ little love , maybe ωe can change the ωorld.",
  ....

如您所见,API 确实通过特殊字符传递。 它以UTF-8的形式通过它们。 您需要确保您的代码期望并且可以操作Unicode字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM