RSS로부터 정보를 취득해 라즈베리 파이에 자동 트윗시킨 이야기
6781 단어 트위터RaspberryPiRSSTwitterAPI라즈파이
TwitterAPI 취득하여 누득 정보를 중얼거리는 BOT을 만든 이야기
전제 조건
Raspberry Pi 3 Model B+ 사용. 2, 4, Zero로 할 수 있다고 생각합니다.
TwitterAPI Key의 발행은 이하 기사인가를 참고로 해 끝내 두어 주세요.
htps : // m / 카즈 펜 2018 / ms / f9828 c853 b9c3357
필수 라이브러리 설치
약속 명령 실행
sudo apt-get update
sudo apt-get upgrade
Twython 설치
sudo pip install twython
샘플 파일 만들기
nano tweet.py
tweet.py
# coding: utf-8
from twython import Twython, TwythonError
# API Keyなどの必要情報を入力。
APP_KEY = "Consumer Key (API Key)"
APP_SECRET = "Consumer Secret (API Secret)"
OAUTH_TOKEN = "Access Token"
OAUTH_TOKEN_SECRET = "Access Token Secret"
# 変更するのは上の4つのみで大丈夫です
twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
try:
twitter.update_status(status='Qiita uses @ kazupen2018 posted article script.')
except TwythonError as e:
print e
API 키, APISecret, Access Token, Access Token Secret
이 문서를 참조하여 검색하고 위 프로그램에 입력하십시오.
테스트 트윗 실행
python tweet.py
Twitter를 확인해 보세요. 무사히 트윗되었나요?
그렇지 않은 경우 라이브러리 또는 API를 다시 확인하십시오.
RSS를 받고 트윗
feedparser 설치
sudo pip install feedparser
RSS 받기
예를 들어, Yahoo! 날씨에서 오늘 도쿄의 예보를 얻으십시오.
ぇtps : // 우에아테 r. 야호오. 이. jp/우아아테ぇr/rs/
가져오려는 곳을 클릭합니다. 예로서 도쿄도도청 소재지.
그러면 다음과 같이 표시됩니다 (브라우저에 따라 표시가 다릅니다)
해당 페이지의 URL 입력란의 URL을 복사합니다.
여기에
htps : // / rs - ぇ あぇ r. 야호오. 이. jp/rs/다 ys/4410. xml
이었다.
RSS를 받고 트윗
nano rss.py
rss.py
# coding: utf-8
from twython import Twython, TwythonError
import feedparser
APP_KEY = "Consumer Key (API Key)"
APP_SECRET = "Consumer Secret (API Secret)"
OAUTH_TOKEN = "Access Token"
OAUTH_TOKEN_SECRET = "Access Token Secret"
# 先ほど取得したRSSのURLを下に貼り付けます
RSS_URL = "RSS_URL(ここをRSSのURLと置き換えてください)"
news_dic = feedparser.parse(RSS_URL)
latest_entry = news_dic['entries'][0]
message = latest_entry.title + latest_entry.link
twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
try:
twitter.update_status(status=message)
except TwythonError as e:
print e
API 키, RSS URL은 각자로 바꾸어 주세요.
python rss.py
네. 트윗되었습니다.
주의사항
Twitter를 사용하면 중복 트윗을 할 수 없습니다. 예를 들어 "rss.py"를 연속 실행하면 이러한 오류가 발생합니다.
Twitter API returned a 403 (Forbidden), Status is a duplicate.
같은 내용을 반복해서 투고할 수 없다는 점에 유의하여 cron 등에 등록하여 놀아보세요.
Reference
이 문제에 관하여(RSS로부터 정보를 취득해 라즈베리 파이에 자동 트윗시킨 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kazupen2018/items/88d20ef55df2dd1fd8c7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)