質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

0回答

2497閲覧

指定ユーザーの全ツイートを取得するRubyプログラムについて

Dongrill

総合スコア19

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

1クリップ

投稿2016/09/01 04:22

編集2016/09/01 06:19

###前提・実現したいこと
こちらこちらの記事を参考にtwitterのsearch/universal APIを用いてRuby on Rails上のRubyファイルで指定のユーザーの全ツイートを取得するプログラムを作っております。現状下記ソースコードまでは到達し、APIを1度だけ叩いて直近10個ほどのツイートを含むJSONを取得している状態であると理解しております。

そこで2つ教えていただきたいのですが、
①全ツイートを取得するためには複数回APIを叩く必要があるとのことですが、それをRubyで実現するコードを教えてください。
②取得したJSONからツイート本文などの特定の項目をスクレイピングするにはどうしたらよいのでしょうか?

宜しくお願い致します。

###該当のソースコード

require 'mechanize' require 'oauth' def self.get_tweets consumer_key = '' consumer_secret = '' access_token = '' access_token_secret = '' consumer = OAuth::Consumer.new( consumer_key, consumer_secret, site:'https://api.twitter.com/' ) endpoint = OAuth::AccessToken.new(consumer, access_token, access_token_secret) # GET response = endpoint.request(:get, "https://api.twitter.com/1.1/search/universal.json?q=from%3ユーザー名") result = JSON.parse(response.body) puts result end

###試したこと
上記サイトを参考にして試行錯誤しながらなんとか上記ソースコードまでは辿り着きました。
そして今回の質問箇所なのですが自分なりに繰り返し構文なども試したのですがダメでした。

###補足情報(言語/FW/ツール等のバージョンなど)
言語: Ruby on Rails(2.1.3)
OS: MAC OS X EL Capitan(10.11.5)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/09/01 04:47 編集

consumer_key consumer_secret access_token access_token_secret は公開すると勝手に使われる可能性があるので消された方がいいですよ。 あと,こちらの方法はtwitterの利用規約に違反している可能性があるので, 自分で調べて解らないのであればやらないことをお勧めします。
Dongrill

2016/09/01 06:22

そのようなリスクは知りませんでしたので今後は自分で試行錯誤してみます。ご指摘ありがとうございました。
退会済みユーザー

退会済みユーザー

2016/09/01 06:51

履歴としてのこるので即刻 consumer_key / consumer_secret の破棄+再取得をおすすめします。
issei.

2016/09/01 08:52

「Twitter規約に違反している」の根拠がわかりません。Twitter APIを使ってツイートを取得するだけなら違反ではないはずです。
退会済みユーザー

退会済みユーザー

2016/09/03 04:46

とりあえず コンシューマーキー及びシークレットキーを公開していた時点で 「APIキーまたはその他のアクセス資格情報は非公開とし、許可されている方法のみで使用してください。」の非公開に違反をしている。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問