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

少し慣れてきたので公式documentを参照しながらコードにする道筋を立てていく。

API Reference — tweepy 3.5.0 documentation

 

Followしているユーザーのリストを作成する。

テストユーザーとしてフォローの多い人を使用

@anzusayuri5555

python

>>> import twpy

>>> api = twpy.api

>>> fl = api.friends_ids('anzusayuri5555')

>>> type (fl)

<class 'list'>

>>> len(fl)

5000

対象ユーザーのフォローが6401人だったので、どうやら上限の5000で停止した模様。

残り1401人を取得するには?

cursorを使用したpagingが必要になるようなのでtwpy.pyに以下のコードを追加する。

cursor = tweepy.Cursor

これによってCursorを使ったページングが可能になった。

Cursorは配列の番号のようなものをどこかに格納しておいて使うものかと思っていたが、どうやらもう少し複雑なもののようだ。ここではブラックボックスのまま、こうすれば使えるもんだということにしてしまって続ける。

python

>>> import twpy

>>> api = twpy.api

>>> cursor = twpy.cursor

>>> friends_ids = []

>>> user_info = api.get_user('anzusayuri5555')

>>> for friend_id in cursor(api.friends_ids, user_id = user_info.id).items():

...   friends_ids.append(friend_id)

...

>>> len(friends_ids)

6401

Cursorを使用してfriends_idsという配列にフォローしているユーザーのidの配列を格納できた。

>>> for friend_id in cursor(api.friends_ids('anzusayuri5555')).items():

...   friends_ids.append(friend_id)

 余談だが、上のコードは動かなかった。

参考にしたのは以下のサイト。

3846masa.hatenablog.jp

 

次は、

任意のユーザーのTweetを最新のものから任意の個数取得し、

取得した範囲を記憶し、次回取得時、

同じユーザーのTLを最新から前回取得した最新のものまで、

これまでに取得した最古のものの次から任意の個数まで、

取得する方法を調べる。