Einfach! Implementieren Sie einen Twitter-Bot, der auf Heroku in Python ausgeführt wird

Ich werde Ihnen zeigen, wie Sie einen Twitter-Bot implementieren, der auf Heroku in Python ausgeführt wird. Ich denke, es ist erschöpft, aber es ist die Version 2016.

Die Lösung besteht darin, ein Python-Skript auf Heroku bereitzustellen und das Skript regelmäßig mit Heroku Scheduler auszuführen.

Der Quellcode für die fertige Version ist unten. https://github.com/k-enomoto/minimum_twitter_bot

Was in diesem Artikel zu erklären

In diesem Artikel nicht erklärt

Es gibt jeweils weitere detaillierte Artikel. Bitte beziehen Sie sich auf diese.

Bibliotheksvorbereitung

Installieren Sie die Bibliothek, die Sie verwenden möchten.

$ pip install python-twitter
$ pip install bottle

Wir müssen Heroku mitteilen, welche Bibliothek verwendet werden soll, also erstellen Sie "require.txt".

$ pip freeze -l > requirements.txt

Vielleicht wird es so sein.

bottle==0.12.9
future==0.15.2
oauthlib==1.1.2
python-twitter==3.1
requests==2.10.0
requests-oauthlib==0.6.2

Code für den Zugriff auf die Twitter-API

Holen Sie sich die Twitter-API "consumer_key", "consumer_secret", "access_token_key" und "access_token_secret" im Voraus. Informationen zur Erfassungsmethode finden Sie im folgenden Artikel. Tweet mit Twitter API in Ruby Aus Sicherheitsgründen wird jeder Schlüssel in einer Umgebungsvariablen festgelegt. Wie Sie Umgebungsvariablen in Heroku festlegen, wird später beschrieben.

Bitte zögern Sie nicht, den Inhalt des Tweets zu arrangieren, sobald er von der Web-API übernommen wurde.

tweet.py


# -*- coding: utf-8 -*-

import os
from datetime import datetime

import twitter


api = twitter.Api(consumer_key=os.environ["CONSUMER_KEY"],
                  consumer_secret=os.environ["CONSUMER_SECRET"],
                  access_token_key=os.environ["ACCESS_TOKEN_KEY"],
                  access_token_secret=os.environ["ACCESS_TOKEN_SECRET"]
                  )
api.PostUpdate("system time is %s" % datetime.now())

Webanwendungscode (Dummy)

Dies ist der Punkt dieser Zeit. Bereiten Sie eine Dummy-Web-App vor, damit der Prozess auf Heroku ausgeführt wird. In diesem Artikel haben wir die leichte Web-Framework-Flasche verwendet. Der Beispielcode in Flaschendokumentation wird unverändert verwendet.

index.py


# -*- coding: utf-8 -*-

import os
from bottle import route, run


@route("/")
def hello_world():
    return "" #Was auch immer Sie hierher zurückkehren

run(host="0.0.0.0", port=int(os.environ.get("PORT", 5000)))

Procfile Das Procfile enthält die Befehle, die im Heroku-Container ausgeführt werden sollen. Beschreibt den Befehl zum Starten der obigen Dummy-Webanwendung.

Procfile


web: python index.py

runtime.txt Dies ist Punkt 2. Erstellen Sie runtime.txt und beschreiben Sie die zu verwendende Laufzeit.

runtime.txt


python-3.5.2

Bereitstellen

Jetzt haben Sie alle notwendigen Dateien.

index.py
tweet.py
requirements.txt
runtime.txt
Procfile

Um auf Heroku bereitgestellt zu werden, müssen die Dateien von Git verwaltet werden. Commit zu Git.

git add .
git commit -m "Initial commit"

In Heroku bereitstellen. Auch die oben genannten Umgebungsvariablen werden hier eingestellt. Bitte ersetzen Sie "your_cosumer_key", "your_consumer_secret", "your_access_token_key", "your_access_token_secret" durch Ihre eigenen Werte.

$ heroku create --stack cedar
$ git push heroku master
$ heroku config:set CONSUMER_KEY=your_cosumer_key CONSUMER_SECRET=your_consumer_secret ACCESS_TOKEN_KEY=your_access_token_key ACCESS_TOKEN_SECRET=your_access_token_secret

Stellen Sie sicher, dass Sie es ordnungsgemäß bereitstellen können.

$ heroku logs

Registrieren einer Scheduler-Aufgabe

Registrieren Sie abschließend die Aufgabe bei Heroku Scheduler. Geben Sie den folgenden Befehl ein, um die Registrierungsseite für den Scheduler aufzurufen.

$ heroku addons:create scheduler:standard
$ heroku addons:open scheduler

Stellen Sie den vom Scheduler auszuführenden Befehl und die Frequenz ein. Lassen Sie uns ein Python-Skript zum Twittern einrichten.

$ python tweet.py
scsho.png

Damit ist der Twitter-Bot fertig.

Recommended Posts

Einfach! Implementieren Sie einen Twitter-Bot, der auf Heroku in Python ausgeführt wird
Machen Sie Twitter Trend Bot mit Heroku + Python
Zusammenfassung der Punkte, die beim Schreiben eines Programms zu beachten sind, das unter Python 2.5 ausgeführt wird
Slack-Benachrichtigung, wenn ein bestimmtes Wort auf Twitter mit Heroku mit Python gemurmelt wird
Eine Klasse, die häufig verwendete Methoden in Twitter API (Python) zusammenfasst.
[Python] Erstellen Sie einen LineBot, der regelmäßig ausgeführt wird
Erstellen Sie einen Bot, der Twitter-Trends verstärkt
Machen wir einen Twitter-Bot mit Python!
Einführung einer Bibliothek, die unter Python / Windows nicht in pip enthalten war
[Python] Ich habe einen Twitter-Bot erstellt, der freundschaftliche Tweets mit Markov-Kettenregeln generiert.
Ich habe in Python einen Discord-Bot erstellt, der übersetzt, wenn er reagiert
Twitter mit Python3
Ein Memo, das ein Tutorial zum Ausführen von Python auf Heroku erstellt hat
Ein Memo, das ich schnell in Python geschrieben habe
Ein Programm, das doppelte Anweisungen in Python entfernt
Eine Geschichte über das Ausführen von Python auf PHP auf Heroku
Schritte zum Erstellen eines Twitter-Bots mit Python
Ein Memorandum zum Berühren von Python Flask mit Heroku
Ein Memo, auf das ich gestoßen bin, als ich ein Zitat RT auf Twitter Bot gemacht habe
[Anfänger] Was passiert, wenn ich ein Programm schreibe, das in Python auf PHP läuft?
In Python habe ich einen LINE-Bot erstellt, der Polleninformationen aus Standortinformationen sendet.
Erstellen Sie mit Selenium einen Datenerfassungsbot in Python
Ich habe einen Twitter BOT mit GAE (Python) gemacht (mit einer Referenz)
Eine persönlich verwendete Vorlage zum Erstellen von Discord BOT in Python (Notizen)
Ein Hinweis zur Bibliotheksimplementierung, in der Hyperparameter mithilfe der Bayes'schen Optimierung in Python untersucht werden
Bis zum Zeichnen eines 3D-Diagramms mit Python in Windows 10
Ich habe eine VM erstellt, auf der OpenCV für Python ausgeführt wird
Ich habe versucht, einen Pseudo-Pachislot in Python zu implementieren
Implementieren Sie XENO mit Python
Was ist in dieser Variablen (wenn das Python-Skript ausgeführt wird)?
Ich habe versucht, LINE BOT mit Python und Heroku zu machen
Erstellen Sie in Python einen Dekorator, der Argumente dynamisch akzeptiert. Erstellen Sie einen Dekorator
Schreiben Sie in Python ein logarithmisches Histogramm auf die x-Achse
Der Linux-Emulator "iSH", der auf dem iPad läuft, ist ein heißes Thema in mir
Implementieren Sie sum in Python
[Super einfach] Machen wir einen LINE BOT mit Python.
Implementieren Sie Traceroute in Python 3
MALSS (Einführung), ein Tool, das maschinelles Lernen in Python unterstützt
Python-Programm von "Buch, das schwieriges Programmieren leicht lehrt"
Ein Allzweckprogramm, das Linux-Befehlszeichenfolgen mit Python formatiert
Ein Memorandum, in dem ich über mein persönliches HEROKU & Python (Flask) gestolpert bin
Veröffentlichung einer Bibliothek, die Zeichendaten in Python-Bildern verbirgt
[Python] Erstellen Sie einen Linebot, der ein beliebiges Datum auf ein Foto zeichnet
Erstellen wir ein Skript, das sich bei Ideone.com in Python registriert.
Verwenden Sie ein Makro, das beim Speichern von Python mit vscode ausgeführt wird
Ein Hinweis beim Berühren der Gesichtserkennungs-API von Microsoft mit Python
Ich habe versucht, "ein Programm, das doppelte Anweisungen in Python entfernt"
Führen Sie den in Python (Flask) implementierten LINE Bot "ohne Verwendung von Heroku" aus.
Erstellen Sie einen Twitter-BOT mit dem GoogleAppEngine SDK für Python
Erstellen Sie den Code, der in Python "A und vorgeben B" ausgibt
[MQTT / Python] Implementierte eine Klasse, die Pub / Sub von MQTT in Python ausführt
Eine Geschichte über den Versuch, private Variablen in Python zu implementieren.
Eine Reihe von Skriptdateien, die Wordcloud mit Python3 ausführen