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

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

ただいまの
回答率

90.52%

  • Python 3.x

    6316questions

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

  • Twitter

    659questions

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

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

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 404

hoge01

score 7

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

# -*- coding: utf-8 -*-
"""
request_oauthlibを使いtwitterで「ホゲホゲホゲ」を検索し、その内容と固有idをすべて表示する
"""

from requests_oauthlib import OAuth1Session
import json


CK = 
CS = 
AT = 
AS = 


#検索用のurl
url = "https://api.twitter.com/1.1/search/tweets.json"
twitter = OAuth1Session(CK, CS, AT, AS)

#最初のパラメーター
params = {"q":"ホゲホゲホゲ",
         "result_type":"recent",
         "count":100,
         "tweet_mode":"extended",
         }

req = twitter.get(url, params = params)

while(req.status_code == 200):
    getsearch = json.loads(req.text)
    search = getsearch['statuses']

    #要素の表示
    for i in range(len(search)):
        print(search[i]['full_text'])#内容
        print(search[i]['id'])#固有のid
        print("****************************")

    #パラメーター更新
    params = {"q":"ホゲホゲホゲ",
         "result_type":"recent",
         "count":100,
         "tweet_mode":"extended",
         "max_id": search[-1]["id"]-1}#ここでout of index


    #のこり制限回数を表示
    limit_remaining = req.headers['x-rate-limit-remaining']
    limit_reset = req.headers['x-rate-limit-reset']
    print("残り{}回 更新まであと{}".format(limit_remaining, limit_reset))

    req = twitter.get(url, params = params)

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

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

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

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

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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

+1

実行してみたところ確かに同じところで止まりました。
そこで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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

check解決した方法

0

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.52%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Python 3.x

    6316questions

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

  • Twitter

    659questions

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