ECナビ人気ニュースの
ブックマーク登録者数も表示するようにしてみました
ドキュメント書いてないけど、もし使いたい方がいらっしゃったら使っていただいてかまわないです。むしろ使ってください。
*「ふっかつのじゅもんがちがいます。」 - ロジテックのページに各種ソーシャルブックマークへのリンクがついた件について
ということなので、使ってみました。
↑ この画面の (15) が、ECナビ人気ニュースのブックマーク登録者数です。
char *getUsersOfECnaviClip( const char *url ) { Thread static char users[32]; Thread static char saveURL[MAX_URLLENGTH]; char apiURL[MAX_URLLENGTH]; char *response; if ( users[0] && (strcmp( users, "(?)" ) != 0 ) ) if ( !strncmp( url, saveURL, MAX_URLLENGTH - 1 ) ) return ( users ); strcpy( users, "(?)" ); /* ECナビ人気ニュースのブックマーク登録者数を取得 */ response = (char *)malloc( MAX_CONTENT_SIZE ); if ( !response ) return ( users ); memset( response, 0x00, MAX_CONTENT_SIZE ); sprintf( apiURL, "http://news.ecnavi.jp/api/counter/%s", encodeURLforHatena( url ) ); http_get( apiURL, response ); if ( *response ) { char *p; char gifURL[MAX_URLLENGTH]; gifURL[0] = NUL; getCurrentLocation( gifURL ); if ( gifURL[0] ) { // gifURL は 登録者数に対応する GIF 画像の URL になる // 例: http://news.ecnavi.jp/static/image/api/number/002.gif p = strrchr( gifURL, '/' ); if ( p ) { p++; while ( *p == '0' ) p++; if ( (*p >= '1') && (*p <= '9') ) sprintf( users, "(%d)", atol(p) ); else if ( *p == '.' ) strcpy( users, "(0)" ); strncpy( saveURL, url, MAX_URLLENGTH - 1 ); saveURL[MAX_URLLENGTH - 1] = NUL; } } } free( response ); return ( users ); }
こんな感じのやっつけっぽいコードで実現。
// gifURL は 登録者数に対応する GIF 画像の URL になる
// 例: http://news.ecnavi.jp/static/image/api/number/002.gif
ちなみに、画像は、今のところ 100.gif までしか用意されてないみたい。