Twitter-Beiträge in Python 3 usw.

Ich möchte Twitter auch in Python3 verwenden

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)

Einführung

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.

Installation

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

Zugriff auf Twitter API

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.

Beispiel für die Timeline-Erfassung

home_timeline.py


# Get your "home" timeline
t.statuses.home_timeline()

Dies gibt das Ergebnis von / statuses / home_timeline zurück.

Erhalten Sie den eingebetteten Status

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.

Beim Posten

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

Erklärung zum Inhalt

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.

Anwendungsbeispiel - Bildschirmname abrufen

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. ..

Anwendungsbeispiel - Block_list abrufen

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

Twitter-Beiträge in Python 3 usw.
Twitter mit Python3
[Memo] Tweet auf Twitter mit Python
Python unter Windows
Python auf Mac
Python auf Windbg
Installieren Sie Python3, Numpy, Pandas, Matplotlib usw. unter Windows
Python Conda mit Cygwin
Installieren Sie Python auf der WSL
PyOpenGL-Setup unter Python 3
Anzahl der Charaktere auf Twitter
Installieren Sie Python auf Pidora.
Installieren Sie Scrapy auf Python3
Bequeme Methoden von Python usw.
Installieren Sie Python auf dem Mac
Installieren von Python 3 in einer Mac-Umgebung
Installieren Sie Python3.4 unter CentOS 6.6
Pandas auf python2.6 installieren
Python Basic ② in Windows
Installieren Sie Python unter Windows
Installieren Sie Python 2.7.3 unter CentOS 5.4
Suchen Sie Twitter mit Python
Build Python auf Ubuntu
Installieren Sie Python 3.3 unter Ubuntu 12.04
Installieren Sie Python 3.4 auf einem Mac
Installieren Sie Python 3.6 auf Docker
Automatisches Folgen auf Twitter mit Python und Selen! (RPA)
Installation von Bash unter Ubuntu unter Windows, Ruby, Python, Jupyter usw.
Aktivieren Sie Python virtualenv unter Windows
Richten Sie Python 3.4 unter Ubuntu ein
Führen Sie Openpose unter Python (Windows) aus.
Installieren Sie Python 3.8 auf RHEL 8 (AppStream)
Installieren Sie Watchdog unter Windows + Python 3.3
Python auf Ruby und wütend Ruby auf Python
Twitter-Grafiknotiz mit Python
Holen Sie sich Twitter-Timeline mit Python
Verwenden Sie die Twitter-API mit Python
Installieren Sie pygame auf python3.4 auf dem Mac
Python + Kivy-Entwicklung unter Windows
Installieren Sie Python 3.8 unter CentOS 7 (SCL)
Echtzeitdiagramm mit Plotly (Python)
Sphinx-Autobuild (0.5.2) unter Windows7, Python 3.5.1, Sphinx 1.3.5
Mit Python auf Twitter posten
Setzen Sie Python 3.x in Ubuntu ein
Schnellste Python-Installation unter Windows
[Python] Hinweise zur Datenanalyse
Erstellen Sie eine Python-Umgebung unter Windows
Umgang mit Python auf Mac
Installieren Sie pandas 0.14 auf python3.4 [auf Mac]
Installieren Sie OpenCV unter Ubuntu + Python
Hinweise zur Installation von Python auf Ihrem Mac
[python] super (), Vererbung, __init__ usw.
Führen Sie Pythons CGI auf CORESERVER aus
Führen Sie den Unix-Befehl auf Python aus
Erstellen Sie eine Python-Umgebung mit Windows
Python - Installieren Sie MySQLDB auf EC2
Einführung von TensorFlow in Ubuntu + Python 2.7
Installieren Sie Python 3.8 unter CentOS 8 (AppStream)
Ich habe Python unter Windows ausgeführt