RSS로부터 정보를 취득해 라즈베리 파이에 자동 트윗시킨 이야기

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 등에 등록하여 놀아보세요.

좋은 웹페이지 즐겨찾기