Messages Twitter dans Python 3 etc.

Je veux utiliser Twitter même en Python3

tweepy n'est plus disponible en python 3.x. Je dois utiliser une autre bibliothèque car l'auteur de tweepy l'a déjà fait. Ici, nous utilisons la bibliothèque de sixohsix, qui semble être majeure dans une certaine mesure (Il semble y avoir le principal python-twitter de l'ours, mais j'ai décidé qu'il n'y aurait pas de grande différence d'utilisation entre eux)

introduction

https://apps.twitter.com/ Veuillez obtenir l'enregistrement de l'application, la clé du consommateur, la clé secrète du consommateur, etc. à l'adresse. Sans cela, vous ne pouvez pas frapper l'API Twitter en premier lieu. La clé du consommateur et la clé secrète du consommateur ne peuvent pas être secouées dans cet article.

Installation

install.sh


pip install twitter

Comment utiliser

https://github.com/sixohsix/twitter C'est vraiment tout ce qui est écrit ... c'est tout, mais c'est peut-être difficile pour les débutants.

Cela sera expliqué dans l'ordre. Si vous le frappez avec un script, vous devriez prendre un jeton oauth, etc. Il existe une API simple pour récupérer auth_token sur la ligne de commande.

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!')

Cela enregistrera le jeton et le secret dans un fichier appelé ~ / .my_app_credintials. Si le fichier existe déjà, le code sera lu à partir du fichier, donc si vous écrivez ceci dans la mesure où ce n'est pas magique, vous pouvez obtenir un jeton s'il s'agit d'une ligne de commande pour le moment

Accès à l'API Twitter

https://github.com/sixohsix/twitter#the-twitter-class Tout est écrit ici, mais le point est: "Créez une instance de la classe Twitter et frappez-la avec un nom de variable ou un nom de fonction qui lui ressemble selon l'url de l'API REST !!". Comme vous pouvez le voir en lisant la source, l'intention de l'auteur est "Je ne peux l'écrire que de cette façon", donc ce n'est pas du tout hostile.

Pour ceux qui pensent "... je ne sais pas ce que vous dites ()", j'écrirai un peu plus en détail. Veuillez lire ceci en regardant l'exemple de référence de l'URL ci-dessus et Description de l'API REST.

Exemple d'acquisition de chronologie

home_timeline.py


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

Cela renverra le résultat de / statuses / home_timeline.

Obtenir le statut intégré

oembed.py


# to pass in the GET/POST parameter `id` you need to use `_id`
t.statuses.oembed(_id=1234567890)

Cela renverra le résultat de la transmission de l'ID à / statuses / oembed.

Lors de la publication

updata.py


# Update your status
t.statuses.update(
    status="Using @sixohsix's sweet Python Twitter Tools.")

Si c'est un message que tout le monde veut faire, il ressemble à ceci

Explication sur le contenu

En tant que processus interne, lorsque vous essayez d'obtenir la propriété de la classe Twitter, dans getattr, la méthode s'exécute à l'intérieur, et chaque propriété est une instance de la classe appelée TwitterCall, elle est donc appelable, donc "()" Si cela fonctionne, la méthode définie par call sera exécutée.

Voir également Plongez dans Python3 pour getattr et call.

Le nom de la variable que vous voulez passer à l'API peut être passé tel quel avec un nom, mais "id" est spécifié par "_id" pour couvrir le mot réservé.

Exemple d'application-Get screen_name

Donc en application

screen_name.py


print(twitter.account.settings()["screen_name"])

Bien que cela ne soit pas écrit dans l'exemple de référence, si vous obtenez votre propre nom_écran, vous pouvez l'obtenir comme ceci.

La raison en est que l'API REST a account / settings et que le json de retour a une variable appelée screen_name. ..

Exemple d'application-Get block_list

block_list.py


print(twitter.blocks.list())

De cette façon, vous pouvez également obtenir / blocks / list.

Il n'y a donc rien de tel que «appeler cette fonction pour faire une recherche» ou «appeler cette fonction pour obtenir une liste d'amis» dans cette bibliothèque.

As-tu compris? Si l'explication est difficile à comprendre, je l'écrirai un peu plus en détail.

Recommended Posts

Messages Twitter dans Python 3 etc.
twitter avec python3
[Memo] Tweet sur Twitter avec Python
Python sur Windows
python sur mac
Python sur Windbg
Installez Python3, numpy, pandas, matplotlib, etc. sous Windows
Conda Python avec Cygwin
Installer python sur WSL
Configuration de PyOpenGL sur Python 3
Nombre de personnages sur Twitter
Installez Python sur Pidora.
Installez Scrapy sur python3
Méthodes pratiques de Python, etc.
Installez Python sur Mac
Installer Python 3 dans un environnement Mac
Installez Python3.4 sur CentOS 6.6
Installer des pandas sur python2.6
python basic ② sous windows
Installez python sur Windows
Installez Python 2.7.3 sur CentOS 5.4
Rechercher sur Twitter avec Python
construire Python sur Ubuntu
Installez Python 3.3 sur Ubuntu 12.04
Installez Python 3.4 sur Mac
Installez Python 3.6 sur Docker
Suivi automatique sur Twitter avec python et sélénium! (RPA)
Installation de Bash sur Ubuntu sous Windows, Ruby, Python, Jupyter, etc.
Activer Python virtualenv sous Windows
Configurer Python 3.4 sur Ubuntu
Exécutez Openpose sur Python (Windows)
Installez Python 3.8 sur RHEL 8 (AppStream)
Installer watchdog sur Windows + Python 3.3
Python sur Ruby et Ruby en colère sur Python
Mémo graphique Twitter avec Python
Obtenez la chronologie Twitter avec Python
Utiliser l'API Twitter avec Python
Installer pygame sur python3.4 sur Mac
Développement Python + Kivy sous Windows
Installez Python 3.8 sur CentOS 7 (SCL)
Graphique en temps réel avec Plotly (Python)
Sphinx-autobuild (0.5.2) sous Windows7, Python 3.5.1, Sphinx 1.3.5
Publier sur Twitter en utilisant Python
Mettez Python 3.x dans Ubuntu
Installation de Python la plus rapide sous Windows
[Python] Notes sur l'analyse des données
Créer un environnement Python sur Windows
Manipulation de python sur mac
Installez pandas 0.14 sur python3.4 [sur Mac]
Installez OpenCV sur Ubuntu + python
Remarques sur l'installation de Python sur votre Mac
[python] super (), héritage, __init__, etc.
Exécutez le CGI de Python sur CORESERVER
Exécutez la commande unix sur python
Construire un environnement Python avec Windows
Python --Installez MySQLDB sur EC2
Présentation de TensorFlow à Ubuntu + Python 2.7
Installez Python 3.8 sur CentOS 8 (AppStream)
J'ai exécuté python sur Windows