tweepyの導入とpython対話型コンソール上での操作(2)

前回の復習

コマンドプロンプトを起動

python

>>> import twpy

# twpy.pyは前回のものを流用

>>> api=twpy.api

>>> tl=api.user_timeline ('tokyoshashinbu', count = 200)

 ここまでで@tokyoshashinbuの最新のTweetが200個まで取得できた。

>>> type(tl)

<class 'tweepy.models.ResultSet' >

ResultSetという型式で保存されているっぽい?

とりあえず hoge[i].key でアクセスできる、辞書を要素とした配列のようだ。

(i=要素の番号, key=属性の名前)

>>> tl_json = tl[0]._json

>>> type(tl_json)

<class 'dict' >

>>> tl_json.keys()

dict_keys(['created_at', 'user', ..., 'possibly_sensitive'])

>>> tl_json['text']

'本日は晴天なり云々'

jsonという名前は何か特別なもののようだが、

typeを見るとdictなのでここでは単なる辞書として扱う。

辞書としてキーを列挙したり、辞書内の要素にアクセスできることを確認した。

Pythonを学ぼう 第15回 辞書の操作 - ほぷしぃ

 

さて、前回entitiesの中身にアクセスし、media -> type -> photo という経路でTweetが画像付きであることが確認できそうだということを思いついたので可能かどうか挑戦する。

statsbeginner.hatenablog.com

 

>>> tl[0].entities['media'][0]['type']

'photo'

>>> tl[0]._json['entities']['media'][0]['type']

'photo'

辞書・配列のkeyがごちゃっとしているが、この経路でphotoの情報まで到達可能。

文字だけのTweet等でどこかのkeyが存在しない場合は

KeyError: 'media'

のようなエラーが帰る。

 

また、_jsonの内容はtl[0]の中身と同じっぽい。確認はしてない。