[PYTHON] Automatisches Follow-Back mit Streaming-API mit Tweepy

Hinweis

Python3-Code. Im Fall von 2 System denke ich, dass es funktionieren wird, wenn Sie den Bereich um super () ein wenig ändern.

Code

import tweepy

consumer_key    = "CONSUMER_KEY"
consumer_secret = "CONSUMER_SECRET"
access_token    = "ACCESS_TOKEN"
access_secret   = "ACCESS_TOKEN_SECRET"

class StreamListener(tweepy.StreamListener):
    def __init__(self, api):
        super().__init__(api)
        self.me = self.api.me()
    def on_event(self, event):
        if event.event == 'follow':
            if self.me.id != source_user["id"]:
                source_user = event.source
                event._api.create_friendship(source_user["id"])
                print("followed by {} {}".format(source_user["name"], source_user["screen_name"]))

if __name__ == "__main__":
    auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_secret)
    api = tweepy.API(auth)

    stream = tweepy.Stream(auth=api.auth, listener=StreamListener(api))
    stream.userstream(_with="user")

Erläuterung

Neben Tweets hat userstream auch Ereignisse im Zusammenhang damit.

Tweepys "on_event" -Methode scheint zu feuern, wenn das "Ereignis" eintritt.

__init__Innerhalb


self.me = self.api.me()

on_Im Ereignis


if self.me.id != source_user["id"]:

Als Spezifikation folgt jedoch "Benutzer folgt jemandem" und "Benutzer wird verfolgt" dem gleichen "Folgen" und

Erläuterung Source Target
Ich wurde von jemandem verfolgt Following user Current user
Ich bin jemandem gefolgt Current user Followed user

Wie in dieser Tabelle gezeigt, kann sich die Position, an der Sie und die andere Partei eintreten, je nach Situation ändern.

Wenn Sie einen Follow zurückgeben, werden Sie daher versuchen, sich selbst zu folgen. In diesem Fall tritt ein Fehler auf. Um dies zu vermeiden, rufen Sie zum Zeitpunkt der Instanzerstellung Ihre eigenen Informationen ab und ändern Sie die ID von source_user jedes Mal in Ihre ID, wenn das Ereignis follow folgt. Ich vergleiche.

Es gibt auch ein "Ereignis" namens "Nicht folgen", aber dies passiert, wenn Sie einem anderen Benutzer nicht folgen und Sie nicht die Tatsache erhalten können, dass Sie von einem anderen Benutzer nicht verfolgt wurden. Um automatisch nicht mehr zu folgen, müssen Sie die REST-API rechtzeitig aufrufen.

Referenz

Streaming message types | Twitter Developers

tweepy/streaming.py at master · tweepy/tweepy

Recommended Posts

Automatisches Follow-Back mit Streaming-API mit Tweepy
Erhalten Sie Tweets mit beliebigen Schlüsselwörtern mithilfe der Streaming-API von Twitter
Erstellen Sie eine API mit hug mit mod_wsgi
Extrahieren Sie plötzliche beliebte Wörter mit der Twitter-Streaming-API
Automatische Sprachtranskription mit Google Cloud Speech API
Letzte Ranglistenerstellung mit der Qiita-API mit Python
Versuchen Sie, mit MVC eine RESTful-API mit Flask 1.0.2 zu erstellen
Registrieren Sie Tickets mit der Redmine-API mithilfe von Python-Anforderungen
Installieren Sie tweepy mit pip und verwenden Sie es für API 1.1
Mit der Twitter-Streaming-API können Sie nur knuspriges Japanisch lernen
Extrudieren Sie mit der Fusion360-API
Versuchen Sie es mit Tweepy [Python2.7]
Bilderkennung mit API aus null Wissen mit AutoML Vision
Erstellen Sie mithilfe der Twitter-Streaming-API einen Echtzeit-Bot für die automatische Antwort
FX automatischer Handel mit genetischem Algorithmus Teil 3 Tatsächlicher Handel mit Oanda API
Spielen Sie mit der YouTube Data API v3 mit dem Google API Python Client