とみふらの明るく楽しい日記

日記や俺用メモなどなんでもあり。

twitterのAPI使わずにwebからTL(というかhome)取得するスクリプト

webからTL取得するにあたり、ログインとかクッキーセットしたり送ったりがようわからん。と思ってたらmechanizeとかいうrubygemが神すぎた。
mechanizeがブラウザのように振る舞ってくれるので難しいこと考えなくていいぽい。

インストールは
$ gem install mechanize
だけど、色々と必要なものがあるぽくてはまったのでここを参考に色々入れた。
http://d.hatena.ne.jp/akezora/20100103/1262497281


mechanizeの使い方はここを参考にした。
http://d.hatena.ne.jp/kitamomonga/20081209/kaisetsu_for_ver_0_9_ruby_www_mechanize


#!/usr/bin/env ruby

require 'rubygems'
require 'mechanize'

username = '' #ユーザ名入れる
password = '' #パスワード入れる

agent = WWW::Mechanize.new
agent.user_agent_alias = 'Windows IE 7'
agent.get('http://twitter.com/login')

agent.page.form_with(:action => 'https://twitter.com/sessions'){|form|
  form.field_with(:name => 'session[username_or_email]').value = username
  form.field_with(:name => 'session[password]').value = password
  form.click_button
}

#標準出力して確認
puts agent.page.body

ちなみに、twitterのウェブページをスクレイピングするのは規約で禁止されてるらしいので気をつけたほうがいいですね。
これはページ取得してるだけだから大丈夫なはずですけど・・・