tweepy ist in Python 3.x nicht mehr verfügbar. Der Autor von tweepy hat dies bereits getan, daher muss ich eine andere Bibliothek verwenden. Hier verwenden wir die Bibliothek von sixohsix, die in gewissem Maße von Bedeutung zu sein scheint (Es scheint Bärs Haupt-Python-Twitter zu geben, aber ich entschied, dass es keinen großen Unterschied in der Benutzerfreundlichkeit zwischen ihnen geben würde)
https://apps.twitter.com/ Bitte erhalten Sie die Anwendungsregistrierung, den Verbraucherschlüssel, den geheimen Verbraucherschlüssel usw. unter. Ohne dies können Sie Twitter-API überhaupt nicht treffen. Was ist der Verbraucherschlüssel und der geheime Verbraucherschlüssel können in diesem Artikel nicht erschüttert werden.
install.sh
pip install twitter
https://github.com/sixohsix/twitter
token.py
import os
from twitter import *
#consumer key, consumer secret key from https://apps.twitter.com/
CONSUMER_KEY = "YOUR_CONSUMER_KEYAAAAAAAA"
CONSUMER_SECRET="YOUR_CONSUMER_SECRETAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
MY_TWITTER_CREDS = os.path.expanduser('~/.my_app_credentials')
if not os.path.exists(MY_TWITTER_CREDS):
oauth_dance("My App Name", CONSUMER_KEY, CONSUMER_SECRET, MY_TWITTER_CREDS)
oauth_token, oauth_secret = read_token_file(MY_TWITTER_CREDS)
twitter = Twitter(auth=OAuth(oauth_token, oauth_secret, CONSUMER_KEY, CONSUMER_SECRET))
# Now work with Twitter
twitter.statuses.update(status='Hello, world!')
Es ist wirklich alles, was geschrieben steht ... es ist alles, aber vielleicht ist es für Anfänger schwierig. Es wird der Reihe nach erklärt. Wenn Sie es mit einem Skript treffen, sollten Sie oauth Token usw. abholen. Es gibt eine einfache API zum Abrufen von auth_token in der Befehlszeile. Dadurch werden das Token und das Geheimnis in einer Datei mit dem Namen ~ / .my_app_credintials gespeichert. Wenn die Datei bereits vorhanden ist, wird der Code aus der Datei gelesen. Wenn Sie dies also so schreiben, dass es nicht magisch ist, können Sie ein Token erhalten, wenn es sich vorerst um eine Befehlszeile handelt
https://github.com/sixohsix/twitter#the-twitter-class Es ist alles hier geschrieben, aber der Punkt ist: "Erstellen Sie eine Instanz der Twitter-Klasse und schlagen Sie sie mit einem Variablennamen oder Funktionsnamen an, der gemäß der URL der REST-API so aussieht !!". Wie Sie beim Lesen der Quelle sehen können, ist die Absicht des Autors "Ich kann es nur so schreiben", es ist also überhaupt nicht unfreundlich.
Für diejenigen, die denken "... ich weiß nicht, was Sie sagen ()", werde ich etwas detaillierter schreiben. Bitte lesen Sie dies, während Sie sich das Referenzbeispiel der obigen URL und Beschreibung der REST-API ansehen.
home_timeline.py
# Get your "home" timeline
t.statuses.home_timeline()
Dies gibt das Ergebnis von / statuses / home_timeline zurück.
oembed.py
# to pass in the GET/POST parameter `id` you need to use `_id`
t.statuses.oembed(_id=1234567890)
Dies gibt das Ergebnis der Übergabe der ID an / statuses / oembed zurück.
updata.py
# Update your status
t.statuses.update(
status="Using @sixohsix's sweet Python Twitter Tools.")
Wenn es ein Beitrag ist, den jeder machen möchte, sieht es so aus
Als interner Prozess wird beim Versuch, die Eigenschaft der Twitter-Klasse in getattr abzurufen, die Methode im Inneren ausgeführt, und jede Eigenschaft ist eine Instanz der Klasse namens TwitterCall, daher kann sie aufgerufen werden, also "()" Wenn es funktioniert, wird die durch call definierte Methode ausgeführt.
Siehe auch Dive Into Python3 für getattr und call.
Der Variablenname, den Sie an api übergeben möchten, kann wie mit einem Namen übergeben werden, aber "id" wird durch "_id" angegeben, um das reservierte Wort abzudecken.
Also als Anwendung
screen_name.py
print(twitter.account.settings()["screen_name"])
Obwohl es im Referenzbeispiel nicht geschrieben ist, können Sie es so erhalten, wenn Sie Ihren eigenen Bildschirmnamen erhalten.
Der Grund dafür ist, dass die REST-API über account / settings verfügt und die Rückgabe json eine Variable namens screen_name hat. ..
block_list.py
print(twitter.blocks.list())
Auf diese Weise können Sie auch [/ blocks / list] abrufen (https://dev.twitter.com/docs/api/1.1/get/blocks/list).
Daher gibt es in dieser Bibliothek kein "Diese Funktion aufrufen, um eine Suche durchzuführen" oder "Diese Funktion aufrufen, um eine Freundesliste zu erhalten".
Hast du es verstanden? Wenn die Erklärung schwer zu verstehen ist, werde ich sie etwas detaillierter schreiben.
Recommended Posts