간단! Heroku에서 움직이는 Twitter bot를 Python으로 구현
다 했던 재료라고는 생각합니다만, 2016년판이라고 하는 것으로.
구현 방법은 Heroku에 Python 스크립트를 배포하고 Heroku Scheduler를 사용하여 스크립트를 정기적으로 실행하는 것입니다.
완성판 소스 코드는 다음과 같습니다.
htps : // 기주 b. 코 m / k-에노 모토 / 미니무 m_와 r_ 보트
이 기사에서 설명하는 것
이 기사에서 설명하지 않는 것
각각 다른 자세한 기사가 있으므로 참고하십시오.
라이브러리 준비
사용할 라이브러리를 설치합니다.
$ pip install python-twitter
$ pip install bottle
Heroku에게 어떤 라이브러리를 사용할지 알려주어야 하기 때문에
requirements.txt
를 작성합니다.$ pip freeze -l > requirements.txt
어쩌면 이런 내용이 될 것입니다.
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
Twitter API에 액세스하는 코드
사전에 Twitter API
consumer_key
, consumer_secret
, access_token_key
, access_token_secret
취득 방법은 아래의 기사를 참고해 주세요.Ruby에서 Twitter API를 사용하여 트윗
또한 각 키는 보안 관점에서 환경 변수로 설정합니다. Heroku에서 환경 변수를 설정하는 방법은 나중에 설명합니다.
트윗의 내용은 Web API로부터 취해지고, 자유롭게 어레인지해 주세요.
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())
웹 앱 코드(더미)
이번 포인트가 되는 부분입니다.
Heroku에서 프로세스를 실행하기 위해 더미 웹 앱을 준비합니다. 이 기사에서는 경량 웹 프레임 워크 bottle을 사용했습니다.
bottle 문서 에 있는 샘플 코드를 그대로 유용하고 있습니다.
index.py
# -*- coding: utf-8 -*-
import os
from bottle import route, run
@route("/")
def hello_world():
return "" # ここで返す内容は何でもよい
run(host="0.0.0.0", port=int(os.environ.get("PORT", 5000)))
Procfile
Procfile은 Heroku 컨테이너에서 실행하는 명령을 나열합니다.
위의 더미 웹 앱을 시작하는 명령을 설명합니다.
Procfile
web: python index.py
runtime.txt
포인트 그 2입니다.
runtime.txt
를 만들고 사용할 런타임을 설명합니다.runtime.txt
python-3.5.2
배포
이상으로 필요한 파일이 갖추어졌습니다.
index.py
tweet.py
requirements.txt
runtime.txt
Procfile
Heroku에 배포하려면 파일을 Git에서 관리해야 합니다. Git에 커밋합니다.
git add .
git commit -m "Initial commit"
Heroku에 배포합니다.
또한 위에서 언급 한 환경 변수 설정은 여기에서 수행됩니다.
your_cosumer_key
, your_consumer_secret
, your_access_token_key
, your_access_token_secret
는 자신의 값으로 읽어 주십시오.$ 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
제대로 배포되어 있는지 확인하십시오.
$ heroku logs
스케줄러 작업 등록
마지막으로 Heroku Scheduler에 작업을 등록합니다.
다음 명령을 입력하면 스케줄러 등록 페이지가 시작됩니다.
$ heroku addons:create scheduler:standard
$ heroku addons:open scheduler
스케줄러에서 실행할 명령과 빈도를 설정합니다.
중얼거리는 파이썬 스크립트를 설정해 봅시다.
$ python tweet.py
이것으로 Twitter bot가 완성되었습니다.
Reference
이 문제에 관하여(간단! Heroku에서 움직이는 Twitter bot를 Python으로 구현), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/enomotok/items/41275dd904c8aa774e72텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)