Я пытаюсь выяснить, как получить самую последнюю широту и долготу пользователя Twitter (из новых данных Geo API, т. Е. Тега <geo:point>
, вы можете видеть, как они выглядят на my twitter user timeline xml feed). Мне также нужно получить, сколько лет эти данные (в секундах) от тега <created_at>
.Parsing Twitter feeds в C
Я пытаюсь написать это в C для использования с mbed microcontroller, поэтому я не могу использовать большие библиотеки (в идеале я бы не использовал библиотеки, но это может быть плохая идея). Сайт mbed предлагает a few light libraries - YAJL и FastXML кажутся вам полезными - но мои знания C очень простые, и я не уверен, как действовать дальше.
Предполагая, что у меня есть код для извлечения временной шкалы пользователя Twitter в виде строки и/или на диск (как JSON или XML), как мне следует продолжить?
На данный момент я делаю это скремблирование на своем веб-сервере с помощью PHP, но я бы предпочел, чтобы это было сделано на C, поскольку я надеюсь выпустить код, когда я закончу (и я не хочу, чтобы мои бедные серверу, который протаранил) РНР выглядит следующим образом:
<?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 и, безусловно, стоит денег!)
Если вы разместите формат некоторых структур данных, вы получите более качественные ответы. –
Я предполагаю, что я должен положить здесь немного, а не просто указывать на XML-канал twitter - я добавлю фрагмент - спасибо –