Twitter screen_nameからuser_idを調べる

調べる必要があったので、以下を参考にruby oneliner書いてみました

Twitterの数字IDとスクリーンネームの相互変換 - 酢飯をおかずにご飯を食べる。

your_screen_nameはIDを調べたいtwitter名に置き換えてください。

ruby -r open-uri -r nokogiri -e 'puts /id=(.*)/.match(Nokogiri::HTML(open("https://twitter.com/intent/user?screen_name=#{ARGV.first}")).css("meta[name=native-url]").first.attribute("content").to_s).to_a[1]' your_screen_name
  • Nokogiriでtwitterのページをパース
  • 特定のメタタグ(native-url)のcontent値を取得
  • 求めるIDの部分のみmatchで抽出

やっていることはこんな感じです。