PowerShellでTwitter APIをたたいてみた

今日は,PowerShell でTwitter APIをたたいてみた.PowerShellは,.NET frameworkがそのまま使えるので,とても強力なシェル/スクリプティング環境である.

例によって,フォローしている人のリストと,フォロワーのリストを表示するスクリプトを書いてみた.まだまだ初心者なので,コードは汚いが,それでもかなりすっきり書けるのではないかと思う.
function GetURLContent($url) {
  $webReq = [Net.HttpWebRequest]::Create($url)
  $webReq.Method = "GET"
  $webRes = $webReq.GetResponse()

  $sr = New-Object IO.StreamReader($webRes.GetResponseStream(), $webRes.ContentEncoding)
  $content = $sr.ReadToEnd()
  $sr.Close()
  $webRes.Close()
  
  $content
}

function PrintSummary($content) {
  $doc = [xml] $content
  $userList = $doc.GetElementsByTagName("user")
  $numUsers = $userList.Count

  for ($i = 0; $i -lt $numUsers; $i++) {
    $node = $userList.Item($i)
    $id = $node.SelectNodes("id").Item(0).FirstChild.Value
    $screenName = $node.SelectNodes("screen_name").Item(0).FirstChild.Value
    
    "" + $id + ":" + $screenName
  }
}

"[Friends]"
PrintSummary(GetURLContent("http://twitter.com/statuses/friends/haoka.xml"));

"[Followers]"
PrintSummary(GetURLContent("http://twitter.com/statuses/followers/haoka.xml"));

PowerShellの勉強のため,"Windoes PowerShell In Action"を購入した.と,アマゾンを確認したら,改訂版が近日発売とのこと.とてもいい本なので,まあいいか.この本のいいところは,「どうすればいいか」が書かれているだけでなく,「なぜそうなっているか」まで書かれているところだ.

コメント

このブログの人気の投稿

Gbps でなく GT/s

HCSLに33オームの直列抵抗が必要な理由

PowerShellによるExcel/PowerPointの操作