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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Twitter

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

Q&A

解決済

2回答

2814閲覧

ツイートの取得が途中で終わってしまう

hoge01

総合スコア17

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Twitter

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

0グッド

1クリップ

投稿2018/04/18 10:13

編集2018/04/18 10:17

いきなりコードで申し訳ないです。

python

1# -*- coding: utf-8 -*- 2""" 3request_oauthlibを使いtwitterで「ホゲホゲホゲ」を検索し、その内容と固有idをすべて表示する 4""" 5 6from requests_oauthlib import OAuth1Session 7import json 8 9 10CK = 11CS = 12AT = 13AS = 14 15 16#検索用のurl 17url = "https://api.twitter.com/1.1/search/tweets.json" 18twitter = OAuth1Session(CK, CS, AT, AS) 19 20#最初のパラメーター 21params = {"q":"ホゲホゲホゲ", 22 "result_type":"recent", 23 "count":100, 24 "tweet_mode":"extended", 25 } 26 27req = twitter.get(url, params = params) 28 29while(req.status_code == 200): 30 getsearch = json.loads(req.text) 31 search = getsearch['statuses'] 32 33 #要素の表示 34 for i in range(len(search)): 35 print(search[i]['full_text'])#内容 36 print(search[i]['id'])#固有のid 37 print("****************************") 38 39 #パラメーター更新 40 params = {"q":"ホゲホゲホゲ", 41 "result_type":"recent", 42 "count":100, 43 "tweet_mode":"extended", 44 "max_id": search[-1]["id"]-1}#ここでout of index 45 46 47 #のこり制限回数を表示 48 limit_remaining = req.headers['x-rate-limit-remaining'] 49 limit_reset = req.headers['x-rate-limit-reset'] 50 print("残り{}回 更新まであと{}".format(limit_remaining, limit_reset)) 51 52 req = twitter.get(url, params = params) 53 54

このようなコードを書きました

すると結果は一件のみ表示され、その後は二度目三度目のパラメーターを作るところで、out of indexとなります。

一つしか「ホゲホゲホゲ」を含むツイートがないのかもしれないと思い本家twitterで検索したところ、いくつもの検索結果が出てきました。
2個め以降は少しツイート日時が1つめよりすこし古いです。

apiに制限もかかっていないし、180回を超えてリクエストもしていません。
いろいろ調べてみましたがやはりわかりませんでした。

twitter apiの仕様でしょうか?また、これを回避する方法があれば教えていただきたいです。

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

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

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

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

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

guest

回答2

0

実行してみたところ確かに同じところで止まりました。
そこでsearchの中身を見たところ、1件しか取得できていませんでした。
そのためキーワードを変えて実行して見たところ正常な結果が得られることが確認できました。
多分キーワードの問題でしたね、ちょっと特殊すぎたかと
実行によって得られた結果の一部が以下のようなものです。キーワードは「gundam」としました

RT @gundam_mvs: 機動戦士ガンダムSEED オープニング4 『Realize』 https://t.co/IwljIvyb7u 986627586787651587 **************************** RT @HDKirin: New Gundam Breaker new units revealed: Avalanche Exia Dash, Nightingale, Star Burning, & Atlas. Hashimal & Ptolemaios 2 appear… 986627574058151936 **************************** RT @gundam_info: ガンダム、ハリウッドに立つ!4/20劇場公開「レディ・プレイヤー1」日本限定クリップ“ガンダム編”公開! https://t.co/oYwr5PnIZY https://t.co/JiRwBnREjI 986627560082587648 **************************** RT @HobbySite: 『機動戦士ガンダム』と伊勢丹新宿店が奇跡のコラボレーション。 「ジオン」をテーマに、アートやファッション、グルメなどを発信します! 伊勢丹で「ジオン」の世界を体感しよう!伊勢丹新宿店限定ガンプラも販売! https://t.co/R7z4T9ow2… 986627556563738624 **************************** RT @barzam154__: ガンダムグッズ、たまに「シャアはさ、職場でイジメられてんの?」ってカンジのやつ出るけどこれは本格的に嫌われてんな…… https://t.co/RBb7gWfMLp https://t.co/WGGini5Z4m 986627439806726144 **************************** RT @Zibelinbelt: I'm making a mini-pdf fanbook about Gundam Wing (aka one of my fav manga and one of the first I bought for myself!) Mail… 986627438355427329 **************************** RT @game_watch: これは公式コンテンツなのか!? 見たことがあるキャラクター続出の中国製スマホ向けRPG「機動少女-Gundam Girls」登場  https://t.co/p5ZZ4z4Wc4 #ガンダム https://t.co/1HEU6OcIHL 986627425663528961 ****************************

こちらはキーワード「グラブル」とした結果です

RT @granbluefantasy: 【グランブルーファンタジー】4/19(木)1:00より、メンテナンスを行います。終了は同日7:00を予定しております。お客様にはご迷惑をおかけいたしますが、ご協力の程、何卒よろしくお願いいたします。終了時刻に関しましては前後する場合がご… 986629934448656384 **************************** ECA7FA:ルームID [グラブル]マルチバトル参加者募集! 募集対象:誰でもOK 承認なし 参戦人数:6人 Rank 150 以上 アルバハHL 主弱自發放 986629922541023232 **************************** グラブルSSRキャラ所有率チェッカー 全135キャラ中53人を仲間にしています。( コンプ率39.3% ) https://t.co/SbS9BJ5VDE #グラブル #GameWith 全然やないかい! 986629908762771457 **************************** RT @granbluefantasy: 【グランブルーファンタジー】4/19(木)1:00より、メンテナンスを行います。終了は同日7:00を予定しております。お客様にはご迷惑をおかけいたしますが、ご協力の程、何卒よろしくお願いいたします。終了時刻に関しましては前後する場合がご… 986629908683145216 **************************** RT @granbluefantasy: 【グランブルーファンタジー】4/19(木)1:00より、メンテナンスを行います。終了は同日7:00を予定しております。お客様にはご迷惑をおかけいたしますが、ご協力の程、何卒よろしくお願いいたします。終了時刻に関しましては前後する場合がご… 986629906518781953

投稿2018/04/18 15:40

swallowataill

総合スコア36

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

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

0

自己解決

いろいろ調べたところどうやらtwitter api の一週間制限に引っかかっていたようです。
無理やりクロールして実装してみました。回答していただいた皆様ありがとうございました。

投稿2018/04/22 04:32

hoge01

総合スコア17

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問