Twitter ユーザーの最新の緯度と経度を取得する方法を見つけようとしています (新しい Geo API データ、つまりタグから、Twitter ユーザーのタイムライン xml フィード<geo:point>
でそれらがどのように見えるかを確認できます)。また、そのデータの経過時間 (秒単位) をタグから取得する必要もあります。<created_at>
mbed マイクロコントローラーで使用するためにこれを C で記述しようとしているため、大きなライブラリを使用できません (理想的にはライブラリを使用しないのが理想ですが、それは悪い考えかもしれません)。mbed サイトではいくつかの軽いライブラリを提案しています- YAJLと FastXML は役に立ちそうです - しかし、私の C 知識は非常に基本的なものであり、どのように進めればよいかわかりません。
Twitter ユーザーのタイムラインを文字列として、および/またはディスク (JSON または XML) としてメモリに取得するためのコードがあると仮定すると、どのように進めればよいでしょうか?
現時点では、PHP を介して Web サーバーでこのスクレイピングを行っていますが、完了したらコードをリリースしたいので、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 や電子機器に関する高度な知識がないにもかかわらず、素晴らしい時間を過ごしています。Farnellに 32 ポンドで在庫があり、間違いなくお金の価値があります!)