Java Twitter抽取:特殊字符
我正在尝试提取一些用户的所有推文,以便进行研究。 但特殊字符正被替换为“?”符号。我如何克服这个问题 例如: 如果tweet是 “如果ωe很少爱,也许ωe可以改变ω世界。” 它被存储为 “如果我们付出一点爱,也许我们可以改变这个世界。” 你知道怎么解决这个问题吗 更新: 我处理得不对。所以我修改了代码来处理UTF-8格式 PrintStream out=新的PrintStream(System.out,true,“UTF-8”) out.println(rl_tweets) 现在它打印为Java Twitter抽取:特殊字符,java,twitter,tweets,Java,Twitter,Tweets,我正在尝试提取一些用户的所有推文,以便进行研究。 但特殊字符正被替换为“?”符号。我如何克服这个问题 例如: 如果tweet是 “如果ωe很少爱,也许ωe可以改变ω世界。” 它被存储为 “如果我们付出一点爱,也许我们可以改变这个世界。” 你知道怎么解决这个问题吗 更新: 我处理得不对。所以我修改了代码来处理UTF-8格式 PrintStream out=新的PrintStream(System.out,true,“UTF-8”) out.println(rl_tweets) 现在它打印为 “如果
“如果ωe给Ï'一点爱,也许ωe可以改变ω世界。”有一些特殊的方法对网站中的每一个字母进行编码,以便浏览器了解在屏幕上打印哪个字符。 您可能需要解析代码并将字符更改为您用来显示代码的程序能够理解的内容(因为并非所有程序都能理解这种编码,这似乎是您的问题)。 因此,例如,您可以创建一个解析器来更改类似于
ñ
对应于html中的一个ñ,对应于该字符的特定编码。
您可以在此处找到奇怪字符的html代码列表:
这就是我在编写爬虫程序和解析网页时所做的。
我希望这有帮助
-丹尼尔。您使用什么程序获取数据 让我们看一看包含这些字符的推特- 如果我们调用API
https://api.twitter.com/1.1/statuses/show/473752539289366528.json
我们将此作为响应(截断)
如您所见,API确实传递特殊字符。它以UTF-8的形式通过它们。您需要确保您的代码期望并且能够操纵Unicode字符串。似乎您希望对编码进行操作。这是希腊字母ω(Ω)的小写版本。问题是,我无法控制它。twitterapi进行解析,并以这种方式返回结果。所以我现在只有一个“?”角色。我不能把它转换成任何东西。我使用getUserTimeline来提取ITA正如你提到的,我处理错了。但是现在,即使在将其作为UTF-8处理之后,我仍然得到不正确的结果。您现在看到了什么结果?我已经用更新的结果更新了问题
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.",
....