Date de rédaction: 2015.08.09
Merci de toujours faire référence à votre blog, Qita, Github, etc.
L'environnement est Python 3.5.1. Il existe de nombreuses bibliothèques qui fonctionnent avec Twitter sur Python. J'ai utilisé les trois suivantes.
Surtout aucun
$ pip install twitter
Je pense que vous pouvez généralement l'installer comme ça.
Bot Twitter
Je pense qu'il existe deux types de (bien qu'il puisse y en avoir d'autres)
Cette fois, je voudrais créer ces deux types de Bot.
import twitter
auth = twitter.OAuth(consumer_key="",
consumer_secret="",
token="",
token_secret="")
t = twitter.Twitter(auth=auth)
#Tweet seulement
status="Hello,World" #Tweet pour publier
t.statuses.update(status=status) #Publier sur Twitter
#Tweet avec image
pic="" #Si vous publiez une image, le chemin de l'image
with open(pic,"rb") as image_file:
image_data=image_file.read()
pic_upload = twitter.Twitter(domain='upload.twitter.com',auth=auth)
id_img1 = pic_upload.media.upload(media=image_data)["media_id_string"]
t.statuses.update(status=status,media_ids=",".join([id=img1]))
Si c'est un bot qui tweete régulièrement des images et des mots, ce n'est pas grave si vous modifiez un peu cela!
Il existe plusieurs façons d'exécuter un script régulièrement, mais l'utilisation de crontab est la meilleure (je déteste personnellement la notation).
crontab est un outil qui exécute des commandes régulièrement lorsque l'heure définie est atteinte. ・ Comment écrire crontab
Utilisez l'API Streaming.
import twitter
auth = twitter.OAuth(consumer_key="",
consumer_secret="",
token="",
token=secret="")
t = twitter.Twitter(auth=auth)
#Utiliser Userstream
t_userstream = twitter.TwitterStream(auth=auth,domain='userstream.twitter.com')
#Tweet et informations utilisateur sur les flux de votre chronologie
for msg in twitter.userstream.user():
print(msg)
Dans le programme, dans le contenu de msg Diverses informations telles que les informations sur l'utilisateur et les informations sur les tweets circuleront une par une, veuillez donc les traiter afin que vous puissiez obtenir les informations que vous souhaitez.
Je posterai uniquement ceux que j'utilise souvent.
parameter | contents |
---|---|
in_reply_to_screen_name | Répondre au nom d'utilisateur de destination |
text | Contenu du Tweet |
name | Le nom de l'utilisateur qui a tweeté(≠screen_name) |
media_url | L'URL du média attaché au tweet |
Je me demande si je n'ai pas utilisé les autres jusqu'à présent.
Par exemple, si vous souhaitez créer un robot qui répond à une réponse
.
.
for msg in twitter.userstream.user():
#TWITTER en répondant à TL_Succursale si ID est inclus
if msg['in_reply_to_screen_name']=="TWITTER_ID":
tweet = "@"+msg['user']['screen_name']+" "+"Reply Thanks you"
t.statuses.update(status=tweet)
Il peut être créé comme ceci (exemple)
Pour ceux qui veulent savoir en détail quel type d'informations peuvent être obtenues à partir des informations qui circulent (msg) [Structure des données lors de l'acquisition par l'API Twitter](http://biokids.org/?%A4%C9%A4%D6%A4%AA%2FTwitter%A4%C7%CD%B7%A4%DC%A4% Veuillez consulter A6% A1% AA% 2F% A5% C7% A1% BC% A5% BF% B9% BD% C2% A4).
J'écrirai sur Tweepy à une date ultérieure.
En fait, il existe peut-être une méthode de fonctionnement plus efficace, mais pour l'instant, cela ressemble à ceci.
update_name Envie de jouer avec les paramètres de profil Twitter sur CUI
import tweepy
auth = OAuthHandler(consumer_key="",consumer_secret="")
auth.set_access_token(token="",token=secret="")
api = API(auth)
api.update_profile(name='Nouveau nom')
Pour les autres profils de mise à jour, voir Compte POST / profil_actualisation | Développeurs Twitter.
Pour moi personnellement, tweepy est plus facile à voir et à utiliser que python-twitter. API Reference — tweepy 3.5.0 documentation Donc, si vous pensez pouvoir le faire, rendez-vous sur le site officiel de Twitter et la référence de chaque bibliothèque !!
Recommended Posts