以前作った映画情報のツイッター投稿ツールですが、
ツイッターを自分用の簡単な映画DBとして使わせてもらっています。
DBというからには必要な情報が抜き出せないといけませんよね。
APIの練習がてら投稿した情報を抜き出したいと思います。
環境
ノートPCのWSL ubuntuです。
PS C:\Users\masashi> wsl lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.2 LTS Release: 18.04 Codename: bionic PS C:\Users\masashi> wsl pip3 list --format=columns | findstr tweepy tweepy 3.8.0
抜き出しツールの処理
期間を指定する- 今回の記事に間に合わなかったのでスキップします。
- 本文を取得する
- 本文からタイトルのみ抽出する
- 投稿した日付とタイトルを出力
使用API
tweepyのAPIを使用します。
- user_timeline
- 自分がツイートしたタイムラインを取得します。
- pager系の処理をしないと最大200件までしか取れません。
- 今回は200で足りました。
user_timelineで帰ってくる値から以下の2つを使います。
created_at
text
- ツイート本文です。
- タイトルを「」で囲っているので中身をfindすれば抜き出せますね。
コード
- gettwmovie.py
やってることは簡単で、
自分のツイートからラベルが自ツール(tweet movieinfo)経由の投稿のみを抜き出して、
上記のcreated_atとtextの内容の処理を行っています。
import tweepy import sys import datetime import configure Consumer_Key=configure.CK Consumer_Secret=configure.CS Access_Token=configure.AT Access_Secret=configure.AS auth = tweepy.OAuthHandler(Consumer_Key, Consumer_Secret) auth.set_access_token(Access_Token, Access_Secret) api = tweepy.API(auth) for info in api.user_timeline(count=200): if 'tweet movieinfo' in info.source: Posted = info.created_at + datetime.timedelta(hours=9) Text = info.text[info.text.find('「')+1:info.text.find('」')] print(Posted, Text) else: pass
実行
仮想環境作らなかったのでpython3叩きます。
masashi@DESKTOP-N095TND:~/movietweet$ python3 gettwmovie.py 2019-12-22 00:18:49 American Honey 2019-12-14 22:48:18 The Founder 2019-12-07 23:07:18 The Mule 2019-11-30 23:08:27 Atomic Blonde 2019-11-23 23:33:41 The Intouchables 2019-11-16 23:48:43 Burnt 2019-11-03 20:56:47 The November Man 2019-10-27 22:44:18 Batman 2019-10-19 21:55:43 The Internship 2019-10-14 23:09:54 Killing Them Softly 2019-10-06 20:31:38 American Hustle 2019-09-22 22:44:56 How to Talk to Girls at Parties 2019-09-14 23:20:55 Ali G Indahouse 2019-09-07 23:17:29 Dazed and Confused 2019-08-31 23:59:58 City of Tiny Lights 2019-08-24 23:40:27 Smoke 2019-08-24 16:39:12 Pulp Fiction # 練習ツイート 2019-08-24 16:35:48 APIからツイート # 練習ツイート 2019-08-22 16:34:45 APIからツイート # 練習ツイート
取れましたね!
下の3件は練習のツイートなのでSmokeからAmerican Honeyまで16件見ました。
毎週1本ペースで見ていますが、こう見ると意外と少なく感じますね。
Smoke, Atomic Blonde, The Founderあたりが面白く印象に残っています。
投稿ツールは昨年秋に作ったので本当はもっと見ているのですが
全部編は別のブログにでも書こうと思います。
振り返るといいながらタイトルを取ってきただけで終わってしまいましたが
収集ツールもできたことですし、来年は4半期か半年ごとに見た映画の棚卸ししたいですね。
今回のツールもGithubリポジトリに入れるつもりですが、
投稿ツールと同じAPI Keyまわりの処理書いてるので別ファイルに外だししたほうが良さそうです。
参考サイト
Python datetime 日付の計算、文字列変換をする方法 strftime, strptime【決定版】 - Qiita
おまけ 2019振り返り
本記事で今年は30本書くことができました。
(大みそかに間に合ってよかったです)
週一ペースの50本を目指していたのですが、
何か作業した結果を残そうとするとなかなか難しいですね。
でも自宅でもコードを書く癖や、ラボの環境が少しずつ出来たりと
プログラミング関係の進捗がちょっとですが確認できる年でした。
本業はNWインフラ屋なので、ドキュメントやconfig作りにもっとpythonを活用していきたいです。
来年もよろしくお願いします。