Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # coding: UTF-8
- import tweepy
- from collections import defaultdict
- import networkx as nx
- #==================ツイッター認証==================
- #各キーをhttps://apps.twitter.com/にアクセスして取得してください
- CONSUMER_KEY = "ここにConsumer Key (API Key)を"
- CONSUMER_SECRET = "ここにConsumer Key (API Key)をConsumer Secret (API Secret) "
- ACCESS_TOKEN_KEY = "ここにAccess Tokenを"
- ACCESS_TOKEN_SECRET = "ここにAccess Token Secret"
- auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
- auth.set_access_token(ACCESS_TOKEN_KEY, ACCESS_TOKEN_SECRET)
- api = tweepy.API(auth, wait_on_rate_limit=True)
- #idに取得したいアカウントのidリストを代入
- #Idで指定されたユーザの全フォロワーを取得する
- #Id ... ユーザidでもスクリーンネームでもok
- id =3288588728
- def getFollowers_ids(api, id):
- # Get Id list of followers
- followers_ids = tweepy.Cursor(api.followers_ids, id=id, cursor=-1).items()
- followers_ids_list = []
- try:
- followers_ids_list = [followers_id for followers_id in followers_ids]
- except tweepy.error.TweepError as e:
- print(e.reason)
- return followers_ids_list
- #===============フォロワー取得 ================
- center_to_followers = {}
- node_attrs = defaultdict(dict)
- # center account: @hoge, @hogehoge @ユーザー名 を代入
- #ユーザーIDでも可能
- CENTER_ACCOUNTS = ["ikukotaryu","seisakuteigen01","mikaguramai","mynamekamikaze","mynamekamikaze1","take_off_dress","yukkuri_hosyuCH","hoshusokuhou","NewsUs1","moeruasia","netgeek_0915","hyakutanaoki","nippondaiichi","bmgs46","nikond500nps","sarutobi000"]
- for center_screen_name in CENTER_ACCOUNTS:
- # get center account information (node attributes)
- center_info = api.get_user(screen_name=center_screen_name)
- # get id of center account
- center_id = center_info.id
- node_attrs[center_id]['screenName'] = center_screen_name
- node_attrs[center_id]['followersNum'] = center_info.followers_count
- #追加
- node_attrs[center_id]['followNum'] = center_info.friends_count
- center_to_followers[center_id] = getFollowers_ids(api=api, id=center_screen_name)
- # set empty value to account attribute that is not center
- for follower_id in center_to_followers[center_id]:
- node_attrs.setdefault(follower_id, {'screenName': '', 'followersNum': '','followsNum': '', 'followNum': ''})
- #=================NetworkXのグラフオブジェクトに変換 / gml形式で保存==============
- graph = nx.from_dict_of_lists(center_to_followers)
- nx.set_node_attributes(graph, node_attrs)
- nx.write_gml(graph, '合成結果の名前.gml')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement