[スポンサーリンク]
Python3でTwitterAPI使用する準備
Python3でTwitterAPI使用する準備として、下記を行いました
①APIキーとトークンの取得
②ライブラリのインストール
【Python3】【TwitterAPI】PythonとTwitterAPIを触ってみる準備
TwitterAPIとは先日Python3を使用出来る環境を構築しました勉強として、Pythonで簡単なプログラミングをしてみたいと思います何を作るか迷ったのですが、良く利用しているTwitterを操作して...
[スポンサーリンク]
フォロワーを取得 GET followers/ids API
TwitterAPIでフォロワーを取得するには、GET followers/ids APIを使用します
GET followers/ids
パラメータ
GET followers/ids APIのパラメータは以下です
各項目について、メモを残しておきます
記載内容一切保証出来ません
項目名 | 要否 | 個人的メモ |
user_id | optional | 対象のアカウントをユーザIDで指定(screen_nameか一方を指定) |
screen_name | optional | 対象のアカウントをスクリーンネームで指定(user_idか一方を指定) |
cursor | semi-optional | ページングのカーソルを指定 |
stringify_ids | optional | 取得したIDの型を指定。Trueの場合文字列型、Falseの場合数値型。 |
count | optional | 取得するフォロワーの数を指定。 |
GET followers/ids API サンプルコード
・GET followers/ids APIのURLを設定
1 |
GetFollowersIdsApiUrl = 'https://api.twitter.com/1.1/followers/ids.json' |
・OAuth認証でTwitterとセッション接続
1 |
GetFollowersIdsApiSession = OAuth1Session(ConsumerAPIKey, ConsumerAPIsecretkey, AccsessToken, AceestokenSecret) |
・Sessionクラスのgetを使って、GET followers/ids APIのレスポンスを取得
1 |
GetFollowersIdsResponse = GetFollowersIdsApiSession.get(GetFollowersIdsApiUrl, params = GetFollowersIdsParameters) |
・カーソル設定
GET followers/ids APIはページングで、レスポンスが返ってきます
初期カーソルは-1となっています
レスポンスのnext_cursor_strに、次のページを指定するカーソルが返ってきます
レスポンスが最終ページの場合は、next_cursor_strに0が返ってくる仕様です
したがって、next_cursor_strが0になるまでwhileループすることで、5000フォロワー以上の場合でも全フォロワーを取得出来ます
1 2 3 4 5 |
Cursor = '-1' while Cursor != '0': 【略】 if GetFollowersIdsResponse.status_code == 200: Cursor = GetFollowersIdsResult['next_cursor_str'] |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# coding: utf_8 # ライブラリインポート import json from requests_oauthlib import OAuth1Session # APIキー&トークン設定 ConsumerAPIKey = 【ConsumerKey】 ConsumerAPIsecretkey = 【ConsumerSecretKey】 AccsessToken = 【AccessToken】 AceestokenSecret = 【AccessTokenSecret】 # フォロワー取得対象設定 AccountUserId = '【ユーザID】' # フォロワー取得パラメータ設定 Cursor = '-1' GetFollowersList = [] GetFollowersIdsApiSession = OAuth1Session(ConsumerAPIKey, ConsumerAPIsecretkey, AccsessToken, AceestokenSecret) GetFollowersIdsApiUrl = 'https://api.twitter.com/1.1/followers/ids.json' while Cursor != '0': GetFollowersIdsParameters = { 'user_id' : AccountUserId ,'screen_name' : '' ,'cursor' : Cursor ,'stringify_ids' : '' ,'count' : '5000' } # フォロワー取得 GetFollowersIdsResponse = GetFollowersIdsApiSession.get(GetFollowersIdsApiUrl, params = GetFollowersIdsParameters) # 取得成功時はカーソルを進める if GetFollowersIdsResponse.status_code == 200: GetFollowersIdsResult = json.loads(GetFollowersIdsResponse.text) GetFollowersList.extend(GetFollowersIdsResult['ids']) Cursor = GetFollowersIdsResult['next_cursor_str'] else: print(GetFollowersIdsResponse) exit() print('【フォロワー数】' + str(len(GetFollowersList))) print(GetFollowersList) |
[スポンサーリンク]
ユーザIDを確認する方法
ユーザIDを調べる方法については、以下に記録しています
【Twitter】ユーザIDを確認する方法
TwitterアカウントのユーザIDを調べる方法PythonでTwitterAPIを触ってみる際に、ユーザIDを指定したい場合がありますスクリーンネーム(@hoge形式)は、表示されるのでアプリや...
[スポンサーリンク]
コメント