我试图找出如何获取最新的Twitter用户的经度和纬度(来自新的地理API的数据,即<geo:point>
标签饲料,你可以看到他们是如何看起来像my twitter user timeline xml feed )。我还需要从<created_at>
标记中检索数据的年龄(以秒为单位)。解析Twitter的使用C
我想在C中使用mbed microcontroller来写这个,所以我不能使用任何大型库(理想情况下我不会使用任何库,但这可能是个坏主意)。该mbed网站建议a few light libraries - YAJL和FastXML似乎很有用 - 但我的C知识是非常基本的,我不确定如何继续。
假设我有用于检索Twitter用户的时间表到存储器作为字符串和/或磁盘的代码(如JSON或XML)应该怎么继续?
目前我正在通过PHP在我的网络服务器上进行这项操作,但我宁愿在C中完成它,因为我希望在完成时释放代码(并且我不希望我的穷人服务器被夯)的PHP看起来是这样的:
<?php
date_default_timezone_set('UTC');
try {
$tweets = json_decode(file_get_contents("http://twitter.com/statuses/user_timeline.json?screen_name=".urlencode($_GET['screenname'])));
foreach($tweets as $tweet) {
if (is_array($tweet->geo->coordinates)) {
echo date("U") - strtotime($tweet->created_at);
echo ",{$tweet->geo->coordinates[0]},{$tweet->geo->coordinates[1]}";
break;
}
}
} catch (Exception $e) {
exit();
}
这工作得相当好,但我不知道如何把这个放到C!有任何想法吗?
这是我很期待来处理XML的一个片段:
<statuses type="array">
<status>
<created_at>Sat Dec 12 22:25:17 +0000 2009</created_at>
<id>6611101548</id>
<text>Hello stackoverflow! This tweet is geotagged.</text>
<other tags/>
<geo>
<georss:point>52.946972 -1.182846</georss:point>
</geo>
</status>
<status ...>
</statuses>
(顺便说一句,在mbed是真棒,我有一个惊人的时间与它,尽管我缺乏用C先进的知识或电子产品,它们是in stock at Farnell,价格为32英镑,绝对物超所值!)
如果你发布了一些数据结构的格式,你会得到更好的答案。 – 2009-12-12 22:43:10
我想我应该把一些在这里,而不是只是pointint的twitter XML饲料 - 我会添加一个片段 - 谢谢 – 2009-12-12 22:50:07