[PYTHON] Holen Sie sich viele Twitter-Tweets auf einmal

Einführung

Es wird davon ausgegangen, dass Sie die Twitter-API verwenden können (sorry) Dieser Artikel richtet sich an Personen, die mithilfe von Tweets verschiedene Aufgaben ausführen möchten, jedoch Probleme beim Sammeln von Daten haben.

Zweck

Wenn Sie versuchen, Tweets normalerweise mit der API-Suche von Twitter zu durchsuchen, können Sie nur die Top 100 erhalten. Indem Sie jedoch die jedem Tweet zugewiesene ID verfolgen, können Sie Tweets bis zur letzten Woche abrufen. Das folgende ist das Suchprogramm.

tweet_search.py


# -*- coding:utf-8 -*-
import tweepy

def search_tweet(api):
    print('Ausgabe der neuesten Tweets')
    print('Suchseite: 1')
    tweet_data = api.search(q=' ', count=100)
    for tweet in tweet_data:
            print(tweet.text)
            print('************************************************\n')
    next_max_id = tweet_data[-1].id
    for i in range(2, 11):
        print('Suchseite:' + str(i))
        tweet_data = api.search(q=' ', count=100, max_id=next_max_id-1)
        next_max_id = tweet_data[-1].id
        for tweet in tweet_data:
            print(tweet.text)
            print('************************************************\n')

if '__name__' == '__main__':
    consumer_key = "XXXXXXXXXXXXXXXXXXXXXXX"
    consumer_secret = "XXXXXXXXXXXXXXXXXXXXXXXX"
    access_token = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    access_token_secret = "XXXXXXXXXXXXXXXXXXXXXXXXXX"
    auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_token_secret)
    api = tweepy.API(auth)
    search_tweet(api)

Um den Mechanismus kurz zu erklären ・ Die Tweet-ID (alle Nummern) wird immer allen Tweets zugewiesen. -Die ID ist größer für den neuesten Tweet (wenn beispielsweise die ID des neuesten Tweets 7000 ist, ist die ID des vorherigen Tweets 6999). ・ Die normale API-Suche geht in der Reihenfolge der neuesten Tweets auf die vergangenen Tweets zurück.

Durch die Verwendung dieser vier Punkte wird der Prozess des "Suchens nach Tweet-IDs von 7.000 oder weniger" möglich.

Mit anderen Worten

  1. Holen Sie sich 100 Tweets
  2. Speichern Sie die 100. ID
  3. Suchen Sie anhand der ID unter dem Wert (kehren Sie zu 1 zurück).

Wenn Sie dies wiederholen, können Sie unbegrenzt an Tweets vorbeikommen! Ich würde gerne sagen, aber leider kann die API nur innerhalb einer Woche Tweets erhalten, so dass es nicht unendlich ist. Die Anzahl der Tweets, die gesammelt werden können, ist jedoch überwiegend größer als bei der normalen Verwendung der API-Suche.

das ist alles.

Recommended Posts

Holen Sie sich viele Twitter-Tweets auf einmal
Verlassen Sie mehrere Schleifen gleichzeitig
Wie man viele Pipelines zusammenbaut und sofort weglegt
Ermitteln Sie mithilfe der Twitter-API die Anzahl der Tweets, die sich auf ein bestimmtes Keyword beziehen
Holen Sie sich UNIXTIME zu Beginn des heutigen Tages mit einem Befehl
Ich habe ein Tool erstellt, um die Antwortlinks von OpenAI Gym auf einmal zu erhalten
Holen Sie sich nur Bild-Tweets auf Twitter
Ich habe versucht, ein Skript zu erstellen, das die Tweets eines bestimmten Benutzers auf Twitter verfolgt und das veröffentlichte Bild sofort speichert
Verbinde viel Python oder und und
Löschen Sie unnötige Docker-Container sofort
[An die Herren auf Twitter] Ich habe ein Skript geschrieben, um .jpg-large sofort in .jpg zu konvertieren.
[Python] Ruft eine Liste der Instanzvariablen ab
Holen Sie sich alle Live-Tweets von professionellen Baseball
Holen Sie sich den Dateinamen des Verzeichnisses (glob)
Holen Sie sich zu jeder Tageszeit eine Datums- / Uhrzeitinstanz in Python
[Python] Nur eine Liste der Ordner abrufen
Holen Sie sich viele Ihrer Tweets mit Tweepy
Holen Sie sich sofort die Google+ ID des AKB-Mitglieds
Ich habe "Ich habe versucht, ein Skript zu erstellen, das gepostete Bilder sofort speichert, indem ich zu den Tweets eines bestimmten Benutzers auf Twitter zurückgekehrt bin" überarbeitet.
Einzeiler, der unter Linux eine große Anzahl von Testdateien gleichzeitig erstellt
[Rails] Mechanize verbraucht viele Dateideskriptoren
Holen Sie sich den Aufrufer einer Funktion in Python
Holen Sie sich eine Liste der IAM-Benutzer mit Boto3
Holen Sie sich Qiitas "Gefällt mir" -Liste durch Schaben
Lassen Sie uns einen Teil des maschinellen Lernens mit Python berühren
Holen Sie sich mit Python eine große Menge von Starbas Twitter-Daten und probieren Sie die Datenanalyse Teil 1 aus
Ich habe meine Umgebung mit virtualenv isoliert, aber ich bekomme viele Pakete mit Pip-Liste
Machen Sie es sich leicht, zu sehen, welche virtuelle Währung Sie vor einer Woche bei Poloniex hätten kaufen sollen
Holen Sie sich Twitter userData
Erstellen Sie eine Liste mit Längen- und Breitengraden und konvertieren Sie die UTM-Koordinaten sofort → Dateiausgabe
Holen Sie sich sofort die Firmennummer über gbizinfo mit Python
Ruft den Variablennamen der Variablen als Zeichenfolge ab.
[GoLang] Setzen Sie am Anfang des Kommentars ein Leerzeichen
Werfen Sie einen Blick auf die Verarbeitung von LightGBM Tuner
Python, das viele Excel zu einem Excel zusammenführt
Python + Selen zu GW viele Mail-Anzeigen
Holen Sie sich Twitter-Tweets, Follower, Follower, Likes, mit urllib und beautifulSoup
Python: Ruft eine Liste der Methoden für ein Objekt ab
[Piyopiyokai # 1] Lass uns mit Lambda spielen: Holen Sie sich einen Twitter-Account
Aufgaben zu Beginn eines neuen Python-Projekts
Twitter-API: Rufen Sie eine Liste der Konten ab, denen Sie folgen, die jedoch nicht zurückverfolgt werden