[PYTHON] Verwendung von Tweepy ~ Teil 1 ~ [Getting Tweet]

Einführung

Ich werde unter Verwendung des offiziellen Dokuments zusammenfassen, wie Tweepy verwendet wird.

Hello Tweepy ! Weisen Sie den Import und den erworbenen API-Schlüssel zu.

import tweepy

consumer_key = '*********************************'
consumer_secret = '*************************************'
access_token = '*******************************************'
access_token_secret = '****************************************'

Tweepy verwendet OAuthHandler zur Authentifizierung. Wie im folgenden Beispiel gezeigt, setzen Sie "auth = tweepy.OAuthHandler (consumer_key, consumer_secret)", "auth.set_access_token (access_token, access_token_secret)" und dann "api = tweepy.API (auth)" Verwenden Sie OAuth zur Authentifizierung in der Anforderung.

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

api = tweepy.API(auth)

public_tweets = api.home_timeline()
for tweet in public_tweets:
    print('-------------------------')
    print(tweet.text)

Wenn Sie dies tun, sollten Sie eine Zeitleiste sehen. Hello Tweepy !!

Das Aufrufen einer API-Methode mit api = tweepy.API (auth) gibt eine Tweepy-Modellklasseninstanz zurück. Diese enthält die von Twitter zurückgegebenen Daten, die wir unten verwenden werden.

Suche nach Tweets

Tweets mit dem angegebenen Wort

api = tweepy.API(auth)

for tweet in tweepy.Cursor(api.search, q='Smash Bra').items(10):
    print(tweet)

Bei der Ausführung erhalten Sie die letzten 10 Tweets, einschließlich "Smash Bra". Der von diesem tweepy.Cursor zurückgegebene Wert ist ein Statusobjekt. Wie Sie anhand des gedruckten Tweets sehen können, können Sie verschiedene Informationen erhalten, indem Sie beispielsweise einen Tweet ausführen. ○○.

Beispiel: "tweet.text" zeigt den Tweet-Inhalt an, "tweet.user" ermöglicht Ihnen den Zugriff auf die getwitterten Benutzerinformationen und "tweet.user.name" gibt Ihnen den Benutzernamen. Sie können es holen.

Wenn diese angewendet werden, wird der Benutzername nur dann erfasst, wenn der Benutzer selbst unter den Tweets mit "Smash Bra" twittert und nicht RT. Sie können so etwas tun

[tweet.user.name for tweet in tweepy.Cursor(api.search, q='Smash Bra').items(10) if list(tweet.text)[:2] != ['R', 'T']]

#Ich werde den Namen niedrig halten.
>> ['*********',
    '***********',
    '*******************',
    '********************',
    '**********']

Tweet eines bestimmten Benutzers

Sie können die Tweets des Kontos mit der angegebenen ID abrufen, indem Sie das Argument "tweepy.Cursor" wie folgt ändern.

#RT ausschließen und in if-Anweisung antworten
[tweet.text for tweet in tweepy.Cursor(api.user_timeline, id="Qiita").items(10) if (list(tweet.text)[:2]!=['R', 'T']) & (list(tweet.text)[0]!='@')]

>> ['3500 Likes!|Praktische englische Kommentarsammlung, die in GitHub von verwendet wird@shikichee https://t.co/njAmOmPECK',
    '1000 Contribution! | @ruccho_vector https://t.co/691RY2XE7U',
    '600 Likes!|Mit Firebase können Sie in 1 Stunde eine einfache Web-Chat-App erstellen@taketakekaho https://t.co/r0agD6Z6Qf',
    '500 Likes!|Drei Tipps, um Shell-Skript-Traps zu vermeiden@tnacigam https://t.co/rKO7tBQYii',
    '1300 Likes!|Implementierung saubere Architektur von@nrslib https://t.co/ZCMaz4ges6',
    'In Bezug auf den Artikel, den wir erst am 25. Dezember 2019 geteilt haben, haben wir den Grund für das eingeschränkte Teilen und den Hintergrund unserer Antwort in diesem Blog beschrieben.\n\nhttps://t.co/SUqVaUKPbh',
    '300 Likes!|Streben nach einem sicheren CSS ~ Was wir für eine friedliche Welt tun können ~ https://t.co/bww0EpoNDV',
    '400 Likes!|Eine Ikone, die 10 Jahre später arbeitslos zu sein scheint@otktko https://t.co/4sFpzK1zgu',
    '700 Likes!|Veröffentlichen Sie "Fragen" und "Absichten" in Vorstellungsgesprächen für Ingenieure von@ka_me_sen_nin https://t.co/GvM7RzC4m5',
    '1000 Contribution! | @phanect_ja https://t.co/glKfw9y6vW']

Seite für Seite abrufen

Wenn Sie versuchen, 3 Seiten zu erhalten, können Sie sehen, dass 20 Tweets pro Seite abgerufen werden können, da die Länge jeder Liste 20 beträgt.

#Standardmäßig werden Ihre Tweets abgerufen.
for page in tweepy.Cursor(api.user_timeline).pages(3):
    #Seite ist eine Liste des Status.
    print(len(page))

>> 20
   20
   20

Nun wollen wir sehen, ob es einen Unterschied in der Ausführungsgeschwindigkeit zwischen tweepy.Cursor (). Pages () und tweepy.Cursor (). Items () gibt.

%%time
for page in tweepy.Cursor(api.user_timeline).pages(3):
    # get 60 tweet by pages
    print(page)

>> CPU times: user 67.5 ms, sys: 15.9 ms, total: 83.4 ms
Wall time: 490 ms
%%time
for tweet in tweepy.Cursor(api.user_timeline).items(60):
    # get 60 tweet by items
    print(tweet)

>> CPU times: user 64 ms, sys: 6.8 ms, total: 70.8 ms
Wall time: 471 ms

Letzteres scheint etwas schneller zu sein.

abschließend

Jetzt können Sie verschiedene Tweets erhalten. Es kann Spaß machen, Code zu schreiben, der automatische Favoriten ausführt und nach dem Filtern von Benutzern und Tweets automatisch folgt, indem if-Anweisungen vollständig verwendet werden.

Das nächste Mal werde ich die API weiterhin verwenden, um Vorgänge wie "Folgen" und "Gefällt mir" auszuführen. -> Fortsetzung: Verwendung von Tweepy ~ Teil 2 ~ [Folgen, Gefällt mir usw.]

Recommended Posts

Verwendung von Tweepy ~ Teil 1 ~ [Getting Tweet]
Verwendung von Tweepy ~ Teil 2 ~ [Folgen, Gefällt mir usw.]
Verwendung des Entwicklernetzwerks von cybozu.com (Teil 2)
Verwendung von xml.etree.ElementTree
Wie benutzt man Python-Shell
Hinweise zur Verwendung von tf.data
Verwendung von virtualenv
Wie benutzt man Seaboan?
Verwendung von Image-Match
Wie man Shogun benutzt
Verwendung von Virtualenv
Verwendung von numpy.vectorize
Verwendung von pytest_report_header
Wie man teilweise verwendet
Wie man Bio.Phylo benutzt
Verwendung von SymPy
Wie man x-means benutzt
Verwendung von WikiExtractor.py
Verwendung von IPython
Verwendung von virtualenv
Wie benutzt man Matplotlib?
Verwendung von iptables
Wie benutzt man numpy?
Verwendung von TokyoTechFes2015
Wie benutzt man venv
Verwendung des Wörterbuchs {}
Wie benutzt man Pyenv?
Verwendung der Liste []
Wie man Python-Kabusapi benutzt
Verwendung von OptParse
Verwendung von return
Wie man Imutils benutzt
Verwendung von Qt Designer
Verwendung der Suche sortiert
python3: Verwendung der Flasche (2)
Verstehen Sie, wie man Django-Filter verwendet
Verwendung des Generators
Verwendung von FastAPI ③ OpenAPI
Wie benutzt man Python Argparse?
Verwendung von IPython Notebook
Wie man Pandas Rolling benutzt
[Hinweis] Verwendung von virtualenv
Verwendung von Redispy-Wörterbüchern
Python: Wie man pydub benutzt
[Python] Verwendung von checkio
[Go] Verwendung von "... (3 Perioden)"
So bedienen Sie GeoIp2 von Django
[Python] Verwendung von input ()
Wie benutzt man den Dekorateur?
[Einführung] Verwendung von open3d
Wie benutzt man Python Lambda?
So verwenden Sie Jupyter Notebook
[Python] Verwendung von virtualenv
python3: Verwendung der Flasche (3)
python3: Wie man eine Flasche benutzt
So verwenden Sie Google Colaboratory
Verwendung von Python-Bytes