2013年01月22日の日記です


Tweetの取得  2013-01-22 23:56:16  コンピュータ

後日追記

この日記に書いた方法、2013年7月半ばから使えなくなったようです。


TOPSYガジェットが停止した。


…っていきなり書いて意味が分かる人がどれくらいいるのだろう。


TOPSY は Twitter 関連サービスで、Twitter で発言されたことに関しては、Twitter よりも詳しい。


試しに同じ内容を Twitter と TOPSY で検索してみればわかる。

Twitter は最近の内容しか見つからないが、TOPSY では数年前の情報でも見つかる。


まぁ、Twitter というのは「垂れ流し」がよいのであって、わざわざ過去を詮索するものじゃない。

だから、TOPSY なんて知らない、という人のほうが多いだろう。


で、そのなんや知らん TOPSY とかいうののガジェット、といわれては、余計にわからないだろう。




ところで、外部から自分のサイトに見に来てくれた人がいると、その「参照元」のページを知ることができる。


趣味でサイトを作っていると、見てくれる人がいる、という事実がありがたい。

検索してきてくれた、というだけでも嬉しいのだが、誰かがリンクを張ってくれたとなると、なお嬉しい。


それが批判であれ賛同であれ、リンクされるということは、相手が「わざわざ人に教えたくなる」と認めてくれたということだからね。


そして、参照元がわかると見に行きたくなる。…あれ? ならない人もいる?

僕は見に行きたかった。見てどうなるものでもないけど、自分のサイトが話題に上っていればやっぱりうれしいのだ。



でも、この「参照元がわかる」という機能は、嫌いな人だっている。

特に、批判的なことを書く場合は、相手を怒らせるかもしれない。

僕だって、そういう時は参照元が知れないとよい、と考えることがある。


#僕の場合、知れたら嫌だな、と思う場合は最初から書かないことにしているけど。


というわけで、2ch なんかだと間に1枚、jump ページが挟まれる。

これで、たどれるのは jump ページまでになる。実際の参照元が知られることはない。


でも、2ch の場合はミラーを提供しているサイトが山ほどあり、そういうページからのリンクは jump ページを挟まなかったりするので、早かれ遅かれ参照元を知ることができる。



twitter では、「短縮 URL」が多用される。これもまた、jump ページと同じ効果をもたらす。

こちらは厄介だ。ミラーに相当するサイトがあったとしても、普通は短縮 URL をわざわざ展開したりはしない。


twitter では t.co ドメインが短縮 URL として使用される。

なので、このドメイン名に限っては twitter で検索をかけてみると、参照元が見つかることもある。


でも、twitter の検索機能は前述のとおり貧弱だ。そこで、TOPSY の出番となる。




ふたたび話が TOPSY に戻ったところで、ガジェットの話に移ろう。


TOPSY は、検索サービスを提供するだけでなく、特定の検索項目の Tweet を、リアルタイムに表示してくれるガジェットを配布していた。


検索項目としては、語句検索だけでなく「wizforest.com」なんてサイト指定までできた。

しかも、短縮 URL でもジャンプ先が当サイトであれば、ちゃんと検索に引っかかる。



これが非常に便利で、わざわざ自分で検索して情報を取得するよりも簡単だった。


そんなわけで、僕のページの中にもこっそり貼り付けてあった。

t.co から参照されたとしても、一生懸命参照元を探そうとするよりも、ガジェットで情報を見れば十分だ、というわけだ。




で、年明けには動いていたのだが、1月上旬に急に動かなくなった。

おかしいな、と思って TOPSY のページを見に行ったが、まだガジェットの配布は行っていたし、停止するようなアナウンスもない。


サーバー不調かな? と思ってしばらく様子を見るも、一向に直る気配がない。

そのまま10日くらいたったので、これはさすがに停止なのかな、と情報を集める。


そうしたら、ガジェットを停止したとは書かれていなかったが、1月8日に「TOPSY API を有料化した」というお知らせがあった。


ガジェットはおそらく…というか、十中八九 API を呼び出しているのだ。

配布を続けている理由は「金を払えばまだ動く」からであり、つまりは金払えと言われているのだ。



停止当初は日本語でこの件を発信している人もいなかったが、再度調べたら停止して困っている人、これが有料化問題であると気づいている人もそれなりにいた。

それどころか、TOPSY に依存していたサービスも存在したようで、サービス停止に追い込まれていた。




さてと、僕のページではどうするか。

しばらく TOPSY をいじりながら考える。API を有料化しただけあって、通常の検索方法は「差別化」されているようだ。


wizforest.com について調べても、以前のように「サイト全体」の Tweet が表示されなくなった。

www.wizforest.com について調べると、トップページをリンクした Tweet のみが出てくる。


他にもいろいろな URL を入れると、その URL へのリンクのみが出てくる。


うーむ。今までのような情報は金を払わない限り出してくれないらしい。



いじっているうちに、高度検索の機能を使うと「ちょっといい」ことがわかってきた。

wizforest.com サイト内で、「*」について検索すると、下位のパスへのリンクも含めて、かなりの Tweet が表示される。


最初は * はワイルドカードなのかな? と思ったが、そうではないようだ。- でも % でも = でも、ある種の記号ならよいらしい。

多分、検索時に「ノイズ」として扱われる文字種で、同様に「ノイズ」の含まれた Tweet であれば検索されるのだろう。




でも、これですべてが見つかるわけではなかった。取りこぼしがかなり多く、7割程度しか取れないようだ。


「自分のページの URL」がすべてわかっていて、大した分量でなければ、総当たりで取得するのがよいようだ。

「7割」という数値は、最終的に総当たりでとったデータ数から導いたもの。


しかし、これは TOPSY に攻撃を仕掛けているようなものなので、何度も行うのはよくない。



誰かが Tweet すれば、自分のページに閲覧者が来て、t.co が参照元だとログに記録されるだろう。

この時だけ、TOPSY に検索をかけてみるのがよさそうだ。



というわけで、以上の操作を自動的に行うプログラムを作り、cron に登録。


最初の1回のみ、プログラムを少し書き換えて、できる限りのデータを取得したが、今後は少しづつデータを取得しようとする。




ところで、TOPSY の検索結果は「おかしなデータ」が時々含まれるようだ。


・Twitter 上では消去された tweet が残っている

・TOPSY 上でデータが壊れている


の2つのパターンがあるように見える。


消去された Tweet は、いくつかの必須パラメータが取得できない。

このため、当サイトでは取り込み時に記録されずに消えている。


TOPSY 上のデータが壊れているのは、なぜかユーザー名が変わっているとか、日付が変わっているとか、そういう状態だ。

取り込んだデータを元に Twitter の該当データを取り寄せて突き合せれば、壊れたデータかどうかわかる。


でも、今はそこまでやっていない。厳密性はあまり重要ではないからだ。




最後に、収集したデータを表示するプログラムを作った。


各ページの一番下、1行掲示板よりも下に、該当ページに関する tweet が表示される。

…話題になることなんてそれほどないから、ほとんどのページで表示されないけどね。


また、reverse link のページでは、最新の関連 tweet 20件と、よく tweet されるページ上位20件を、各ページへの最新 tweet1件を付けてを表示している。




同じテーマの日記(最近の一覧)

コンピュータ

別年同日の日記

03年 FCE Ultra for C700

04年 2冊のファミコン本

07年 ドーラと大冒険!

14年 ボタンの左右位置

16年 デビッド・ローゼン 誕生日(1930)

19年 SEGA TETRIS


申し訳ありませんが、現在意見投稿をできない状態にしています


戻る
トップページへ

-- share --

0000

-- follow --




- Reverse Link -