【公開停止】TwitterのAPI制限を回避するためのYahoo!Pipes

【2009/10/21:追記】
このエントリーで紹介しているYahoo!PipesはTwitterの規約に違反しているため、公開停止としました。詳しい解説は下記エントリーをご確認ください。
Twitter野良APIを停止しました。 [C!]

Twitter APIを使ったWEBサービスを運営していると、APIのアクセス回数制限に引っかかってしまう事もあると思います。

APIへのアクセス数残りはこちらで確認できます。
http://twitter.com/account/rate_limit_status.xml

んで、簡単な回避方法はないかと考えた結果、API制限の対象にならないWebページをスクレイピングしてデータを取得する方法を思い付きました。TwitGIFのTwitter API制限対策用に作った2つのPipesを紹介します。

Twitterのユーザーの最新発言20件を取得するPipes

Pipes: Twitter UserStatus(公開停止)

最新発言20件を取得するPipesです。ユーザIDを入れるとそのユーザの最新20件の発言が取得できます。発言時間が「about * hours ago」とかなっている場合は正確なデータが取得できない場合がありますが、その辺はご愛嬌。

APIが返す内容(JSONの場合)

{
  count: 20
  value: {
    items: [
      {
        published: "4:11 PM Aug 12th"
        link: http://twitter.com/yager/status/3275183729
        title: "TwitGIFのTwitter API制限対策を行いました http://bit.ly/12Uzjh"
        pubDate: "Wed, 12 Aug 2009 23:11:00"
        description: "TwitGIF のTwitter API制限対策を行いました <a rel="nofollow" target="_blank" href="http://bit.ly/12Uzjh">http://bit.ly/12Uzjh</a>"
      },
      
      (snip)
      
    ]
  }
}

titleにはアンカーなしの文字列が、descriptionにはURLや#ハッシュタグをアンカーに変換済みのHTMLが入っています。

公開停止していますので、動作例やサンプルコードは削除しました。

Twitterのユーザーのプロフィール画像を取得するPipes

Pipes: Twitter Profile Image(公開停止)

Twitterのユーザーのプロフィール画像を取得するPipesです。ユーザIDを入れるとそのユーザのプロフィール画像(大/中/小)が取得できます。

APIが返す内容(JSONの場合)

{
  count: 1
  value: {
    items: [
      {
        mini: "http://s3.amazonaws.com/twitter_production/profile_images/213027021/yager_64px_mini.jpg",
        normal: "http://s3.amazonaws.com/twitter_production/profile_images/213027021/yager_64px_normal.jpg",
        bigger: "http://s3.amazonaws.com/twitter_production/profile_images/213027021/yager_64px_bigger.jpg"
      }
    ]
  }
}

mini, normal, biggerにそれぞれサイズごとの画像URLが入っています。

公開停止していますので、動作例やサンプルコードは削除しました。

まとめ

これらのPipesは、APIの制限回避のために作ったので、それ以外のメリットがあるかというと微妙なところです。WEBページのスクレイピングを使っているのでTwitterのリニューアルで使えなくなる可能性もあります。変更にはなるべく早くフォローしていくつもりですが、その辺ご理解頂いた上でご利用ください。

同じカテゴリーの記事

このページの一番上に戻る
  • Facebook
  • Twitter
  • Tumblr
  • Instagram
  • miil