Twitter Friends Timelineを取得する様にしました。

前からやりたかった事でもあったのですが、Twitterアカウント設定をしてる場合、自分のフォロワーの発言を取得し表示する様になりました。

始め、APIを使用して取得してたんですが、どうしても制限の事が引っ掛かり、上手い方法がないかと模索してた所、http://twitter.com/homeを直で取得してしまう方法がある事を知って、飛びついてみました。

認証、その他諸々の処理に時間を食ったりなので、速度的に辛いですね。

この辺、上手い案があればご教授頂きたい所です。

技術的な所では、TwitterBasic認証とHTML取得後の整形処理辺りでしょうか。

Basic認証はHTTP::Requestのauthorization_basic()にて認証させてます。

また、認証後の処理面、まぁ主に正規表現部分なんですが、調べようにも「最短マッチ」という単語が出てこなくて大分手間取りました;

例としまして、$contentに複数行にまたがるHTMLの内容が入ってるとして、divタグ内を取得したい時は、

my @matches = $content =~ /<div>(.+?)<\/div>/s

こんな感じでsオプションを付けて、?を付ければ最短マッチなんですね(?が無いと最後の</div>にマッチしてしまう)。

複数行にまたがるマッチングの経験が無かった事もあり、大分ハマリました。まぁ今では良い思い出という事でw

そんなこんなで、取得した内容を整形してhtmlにて書出し、iframeにて表示させてます。

書き出したファイルがバラバラで、heightが取得できない(?)ので余裕を持たせてるんですが、このダダ余り感が何とも言えない切なさ;

バックのカラーを同じにして見かけ上誤魔化す方法はあるんですけどね。。。

Javascript辺りで何とかジャストサイズに調整できるんでしょうか。今後の課題です。