2021 advent calendar day 5,6

Twiterから取得したデータを表示

ISPの回線にて追加出来なかったので2日分とする

ツイッターから取得にライブラリを使うが、どれが良いのか判らないのでとりあえず一番上のtweepyを使用することにする。

https://developer.twitter.com/en/docs/twitter-api/tools-and-libraries/v2

tweepy

pip3 install tweepy

tweepy-4.4.0が入った

インターネットの情報を元にリツイート判定を組み込み以下のソース完成

from escposjp import Network
import tweepy
import settings # キー情報やユーザID等

p = Network("192.168.10.21")
p.hw("INIT")
p.JpInit()

auth = tweepy.OAuthHandler(settings.consumer_key,settings.consumer_secret)
auth.set_access_token(settings.access_token,settings.access_token_secret)
api = tweepy.API(auth)

# ユーザータイムライン取得
user_tweets = api.user_timeline(user_id=settings.user_id)

for tweet in user_tweets:
  # full_text取得のため個別で更に取得
  status = api.get_status(tweet.id,tweet_mode="extended",include_ext_alt_text=True,include_card_uri=True)

  # リツイート判定
  if hasattr(status, "retweeted_status"):
    #print(status.retweeted_status.full_text)
    p.JpText(status.retweeted_status.full_text + "\n")

  # 通常
  else:
    #print(status.full_text)
    p.JpText(status.full_text + "\n")

  p.JpText("─────────────────────\n")

p.cut()

最低限の出力は出来た!

しかし課題が出てきた!

課題一覧

  • 画像を表示したい(アイコン等)
    • 動画のサムネ等も
  • HTML特殊文字(&)等に対応する
  • 絵文字が出ない
  • Twitter Cardが出ない(調べたら広告用IDが必要ぽいので対応はしない)
タイトルとURLをコピーしました