为了我的研究,我试图提取一些用户的所有推文。但这些特殊角色正被“?”所取代。符号。我该如何克服这一切?
示例:
如果推特是,
“如果ωe给ɑ一点爱,也许ωe可以改变ω或If。”
它被存储为
“如果我们给予小小的爱,也许我们可以改变??或者……”
知道怎么解决这个问题吗?
更新:
我处理得不对。所以我修改了代码来处理UTF-8格式。
PrintStream out =新PrintStream(System.out,true,"UTF-8");
out.println(rl_tweets);
现在它打印为
“如果‰e给她一点爱,也许‰e可以改变‰或orld。”
发布于 2014-06-02 17:36:18
有一些特殊的方法可以在网站中对每一个字母进行编码,这样浏览器就可以理解在屏幕上打印哪个字符。您可能需要解析代码并将字符更改为用于显示它的程序所理解的内容(因为并非所有程序都理解这种编码,这似乎是您的问题)。因此,例如,您可以创建一个解析器来更改类似于ñ的内容,它对应于对应于该字符的特定编码的html。您可以在这里找到奇怪字符的html代码列表:http://www.ascii.cl/htmlcodes.htm。
当我不得不编写爬虫程序并解析网页时,我就是这样做的。我希望这能帮到你。
-Daniel。
发布于 2014-06-03 09:12:23
你用什么程序来获取数据?
让我们看一看包含这些字符- https://twitter.com/edent/status/473752539289366528的Tweet
如果我们调用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字符串。
https://stackoverflow.com/questions/24000048
复制相似问题