Datum des Schreibens: 2015.08.09
Vielen Dank, dass Sie sich immer auf Ihr Blog, Qita, Github usw. beziehen.
Die Umgebung ist Python 3.5.1. Es gibt viele Bibliotheken, die mit Twitter unter Python arbeiten. Ich habe die folgenden drei verwendet.
Meistens keine
$ pip install twitter
Ich denke, Sie können es normalerweise so installieren.
Twitter Bot
Ich denke, es gibt zwei Arten von (obwohl es andere geben kann)
Dieses Mal möchte ich diese beiden Arten von Bot erstellen.
import twitter
auth = twitter.OAuth(consumer_key="",
consumer_secret="",
token="",
token_secret="")
t = twitter.Twitter(auth=auth)
#Nur twittern
status="Hello,World" #Tweet zum posten
t.statuses.update(status=status) #Auf Twitter posten
#Tweet mit Bild
pic="" #Wenn Sie ein Bild posten, wird der Pfad des Bildes angezeigt
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]))
Wenn es sich um einen Bot handelt, der regelmäßig Bilder und Wörter twittert, ist es in Ordnung, wenn Sie dies ein wenig ändern!
Es gibt verschiedene Möglichkeiten, ein Skript regelmäßig auszuführen, aber die Verwendung von crontab ist die beste (ich persönlich hasse die Notation).
crontab ist ein Tool, das Befehle regelmäßig ausführt, wenn die eingestellte Zeit erreicht ist. ・ Wie schreibe ich crontab
Verwenden Sie die Streaming-API.
import twitter
auth = twitter.OAuth(consumer_key="",
consumer_secret="",
token="",
token=secret="")
t = twitter.Twitter(auth=auth)
#Verwenden Sie Userstream
t_userstream = twitter.TwitterStream(auth=auth,domain='userstream.twitter.com')
#Tweet- und Benutzerinformationen auf Ihrer Timeline fließen
for msg in twitter.userstream.user():
print(msg)
Im Programm, im Inhalt von msg Verschiedene Informationen wie Benutzerinformationen und Tweet-Informationen fließen nacheinander. Verarbeiten Sie sie daher, damit Sie die gewünschten Informationen erhalten.
Ich werde nur die posten, die ich oft benutze.
parameter | contents |
---|---|
in_reply_to_screen_name | Antwortbenutzername |
text | Tweet Inhalt |
name | Der Name des Benutzers, der getwittert hat(≠screen_name) |
media_url | Die URL des an den Tweet angehängten Mediums |
Ich frage mich, ob ich die anderen bisher nicht benutzt habe.
Zum Beispiel, wenn Sie einen Bot erstellen möchten, der antwortet, wenn eine Antwort kommt
.
.
for msg in twitter.userstream.user():
#TWITTER durch Beantwortung von TL_Verzweigen, wenn ID enthalten ist
if msg['in_reply_to_screen_name']=="TWITTER_ID":
tweet = "@"+msg['user']['screen_name']+" "+"Reply Thanks you"
t.statuses.update(status=tweet)
Es kann so erstellt werden (Beispiel)
Für diejenigen, die im Detail wissen möchten, welche Art von Informationen aus den fließenden Informationen (msg) erhalten werden können [Datenstruktur bei Erfassung durch die Twitter-API](http://biokids.org/?%A4%C9%A4%D6%A4%AA%2FTwitter%A4%C7%CD%B7%A4%DC%A4% Siehe A6% A1% AA% 2F% A5% C7% A1% BC% A5% BF% B9% BD% C2% A4).
Ich werde zu einem späteren Zeitpunkt über Tweepy schreiben.
Eigentlich mag es eine effizientere Betriebsmethode geben, aber im Moment sieht es so aus.
update_name Lust, mit Twitter-Profileinstellungen auf CUI zu spielen
import tweepy
auth = OAuthHandler(consumer_key="",consumer_secret="")
auth.set_access_token(token="",token=secret="")
api = API(auth)
api.update_profile(name='Neuer Name')
Weitere update_profiles finden Sie unter POST-Konto / update_profile | Twitter-Entwickler.
Für mich persönlich ist Tweepy einfacher zu sehen und zu verwenden als Python-Twitter. API Reference — tweepy 3.5.0 documentation Wenn Sie also glauben, dass Sie dies tun können, gehen Sie zum Twitter-Beamten und zur Referenz jeder Bibliothek!
Recommended Posts