Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

公開日 : 2017-12-17

ツイッターの影響力を可視化してみた 自分のフォロワーのフォロー数:フォロワー数をCSVにエクスポートする

このエントリーをはてなブックマークに追加

ツイッターの影響力を可視化する



つい先日、はあちゅう氏の本の内容を偶然思い出しました。

フォロワー数は「自分が情報を与えている人」、フォロー数は「自分が情報をもらっている人」(『半径5メートルの野望』を読んだ感想(はあちゅう)

ツイッターのフォロワー数は、「自分が情報を与えている人」、つまり影響を与えている人の数だと考えることができます。そこで、




自分の影響力を可視化するうえで、フォロワー数という指標もありますが、自分のフォロワー数が多いか少ないか以上に、影響力の高いフォロワーがどれだけいるかって可視化できるのかなと思いました。つまり、どれだけフォロワーの人自身も影響力を持っているかが、影響力を可視化するうえで重要なのではないかと思うのです。


経済資本力ではなく、社会関係資本力、簡単に言えば信頼や影響力が必要になってくる時代、そういった資本力はツイッターのフォロワーの質で可視化することができるはずです。もしこれができれば、ニッチな影響力がある人に直接協力してもらえるようなインフルエンサーマーケティングなども依頼できるかもしれませんね。




フォロワーのフォロワー数、フォロー数を可視化する


なので、今回は以下のことを試してみました。

  • ある特定のユーザーのフォロワーをすべて取得する
  • そのフォロワーのFollow数とFollowing数を取得する
  • Follow:Following比を算出する
  • そのデータを統計分析する
まず、以下のコードを書き、特定のユーザーIDから、そのフォロワーのリストを取得し、一人ひとりのフォロワー数とフォロウィング数を取得し、CSVに落とし込むスクリプトを書いてみました。

環境

  • Windows 10
  • Windows Subsystem for LinuxでUbuntuを利用
  • Python3

スクリプト


Tweepyを使っていて、ツイッターのAPIを利用できるTweepyというライブラリを使って、データを取ってきます。


tweepy.py

import tweepy
import os
import pandas
import time

search_id = "never_be_a_pm"
df = pandas.read_csv('default.csv', index_col=0)
count = 0
skip = 0

CONSUMER_KEY = ""
CONSUMER_SECRET = ""
ACCESS_TOKEN = ""
ACCESS_TOKEN_SECRET = ""

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = tweepy.API(auth ,wait_on_rate_limit = True)

def getFollowerIdsList(search_id):  

    followers_ids = tweepy.Cursor(api.followers_ids, id = search_id, cursor = -1).items()
    followers_ids_list = []

    try:
        for followers_id in followers_ids:
            followers_ids_list.append(followers_id)

    except tweepy.error.TweepError as e:
        print (e.reason)

    return followers_ids_list;

def getFollowers(userID):
    user = api.get_user(userID)
    followersCount = user.followers_count
    return followersCount

def getFollowings(userID):
    user = api.get_user(userID)
    followingCount = user.friends_count
    return followingCount

if __name__ == "__main__":

    followerIdsList = getFollowerIdsList(search_id)
    followersCount = len(followerIdsList)
    for followerId in followerIdsList:
        try:
            userid = api.get_user(followerId).screen_name
            followers = getFollowers(followerId)
            followings = getFollowings(followerId)
            se = pandas.Series([userid, followers, followings],['userid','followers','followings'])
            print(se)
            count += 1
            print("{}%".format(round((count + skip) / followersCount)))
            df = df.append(se, ignore_index=True)
        except:
            print("Failed to retrieve user...retry")
            skip += 1
            print("{}%".format(round((count + skip) / followersCount)))
            time.sleep(10)
    df.to_csv("{}.csv".format(search_id))


APIからデータを取ってきているときは、こんな感じになります。



取得したCSVはこんな感じになりました。



さてさて、面白そうなデータが取れました。
  • 誰が質の高いフォロワーなのか
  • 質の高いフォロワーはどういう人情報をアウトプットしているのか

こんなことをCSVを見ながら、ツイートを分析してみるのも面白いかもしれませんね。



スポンサーリンク