2010/12/20

PowerShellでTwitter


ということでPowerShellを使って Twitterチェックスクリプトを作っているのだけど
自分のやりたい挙動の八割はできたー。
こうやってTwitterを眺めているとなかなか面白い。
少しずつ作成した箇所を紹介できればいいなぁと思います。

とりあえず、こちら。
Twitter API の仕様書 日本語訳
http://watcher.moe-nifty.com/memo/docs/twitterAPI.txt

あと、TwitterAPI searchについてはこちらも参考になりました。

Twitter Search API の使い方
http://www.ibm.com/developerworks/jp/xml/library/x-twitsrchapi/

なにはともあれ、Twitter Search APIを使って情報をとってみる。
Function Get-TwitterSearch {

 Param($searchTerm)

 if ($WebClient -eq $null) {
  $Global:WebClient=new-object System.Net.WebClient
 }

 $results=[xml]($webClient.DownloadString("http://search.twitter.com/search.atom?lang=ja&q=$SearchTerm"))
 $Searchitems=$results.feed.entry

 $SearchItems
}

Get-TwitterSearch関数をつくって、引数に検索する文字を入れることで、
Twitter情報をxml形式でひっぱって返してくれます。

検索の仕様だとかは上記の参考リンクを参照してもらうとして・・。
データをとれればしめたもの。あとはいくらでもPowerShellで編集できちゃいます。
とりあえず、名前と時間、つぶやきを取得したいのであればこんな感じ。
PowerShellをつぶやいた人をとってみました。

$tdata= Get-TwitterSearch PowerShell
$tdata | %{ write-host $_.author.name "--" $([datetime]$_.published); write-host $_.title; write-host }


あとはこれを応用すれば 
好きなキーワードをストリーミングでずっと流し続けることができると。
任意のユーザーに対しても検索できるので、その紹介はまた機会あらば。