あれあの備忘録

アプリ作成の備忘録、IT関連のニュースなどなどいろいろ

rubyでtwitterの検索、表示を行う

こんにちは!
今更railsかじりはじめたra-men-tarouです。

rubyも触ったことがなかったのですが、感度の連続ですね。。。
rubyにはgemとうサードパーティのライブラリがあるのですが、gemコマンドで一発インストールだし。
railsを使えばGemfileに必要なgemを定義してbundle installで一気にインストールしてくれる。
僕みたいなものぐさ太郎には至れり尽くせりなフレームワークです。

さて今回はrails...というかrubyを使ってまたもtweetの収集を行おうとした時の備忘録です。

gemのインストール


コマンドを実行してtwitterのgemをインストール

sudo gem install twitter

ツイートの検索


適当なところにtweetsearch.rbを作る
「ラーメン」が含まれるツイートを15件検索、表示します
tweetsearch.rbの中身は下記のとおり

# -*- coding: utf-8 -*-
require "twitter"

client = Twitter::REST::Client.new do |config|
  config.consumer_key        = "YOUR_CONSUMER_KEY"
  config.consumer_secret     = "YOUR_CONSUMER_SECRET"
  config.access_token        = "YOUR_ACCESS_TOKEN"
  config.access_token_secret = "YOUR_ACCESS_SECRET"
end

client.search("ラーメン").take(15).each do |tweet|
 puts tweet[:text]
end

tweetsearch.rbを実行

sudo ruby tweetsearch.rb

これでうまくいくはず。。。
が、このようなエラーが表示されました。

Twitter::Error::Unauthorized: Timestamp out of bounds

むむ。。。
ググったところ下記のような記事を発見!

github.com

実行環境がNTPと同期していないからだよ、とスティーブさんが 教えてくれてます

そこで下記ページを参考にNTPサーバをインストール

centossrv.com

もういちどtweetsearch.rbを実行 したところ、うまくいきました!

それでは!