Python Tweepyを使って自分のフォロワーを一覧にして管理

f:id:tamurasann:20190430081544j:plain

 

PythonでTwitterの自分の情報を一覧形式にしてCSVファイルにまとめてみました。

 

コード全体

 コードの全体像です。

import sys
sys.path.append(r"c:\users\user\appdata\local\programs\python\python37-32\lib\site-packages")
import tweepy
import csv

# ここからTwitterのAPI認証について
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) #利用制限に引っかかった時に待機
# ここまでTwitterのAPI認証について

 

#ここから 自分のIDのフォロワーを取得

followers_ids = tweepy.Cursor(api.followers_ids, id = "自分のIDを入力してください", cursor = -1).items() #tweepyのcursolを使って自分のIDのフォロワーを取得
followers_ids_list =  #空の箱を作っておく
for followers_id in followers_ids: #自分のIDのフォロワーの情報をfor文で空の箱に入れる
followers_ids_list.append(followers_id)

#ここまで 自分のIDのフォロワーを取得

 

# ここからフォロワーを情報取得し、CSVへ書き込み

with open('ファイル名.csv', 'w', newline="", encoding='utf-8_sig') as f: #CSVへの書き込み準備
writer = csv.writer(f) #CSVへの書き込み準備
writer.writerow(["TwitterID", "TwitterName", "FollowingCount", "FollowerCount", "Description"]) #書き込むファイル一行目にID,名前、フォロー数、フォロワー数の項目を書き込み
for followerId in followers_ids_list:
followers_detail =  #空の箱を準備
user = api.get_user(followerId) #フォロワーのID
userid = user.screen_name #フォロワーの名前
username = user.name 
friend_num = str(user.friends_count) #フォロワーのフォロー数
follower_num = str(user.followers_count)  #フォロワーのフォロワー数
descript = user.description #フォロワーの自己紹介文
followers_detail.extend([userid, username, friend_num, follower_num, descript])
try:
writer.writerow(followers_detail)
except:
pass
print("処理を終了しました")

# ここまでフォロワーを情報取得し、CSVへ書き込み

 

 

このような感じにCSVで出力できます。

f:id:tamurasann:20190430091030p:plain

参考

 https://qiita.com/raitehu/items/0f3298ef9af63d27d3ba

終わりに

 

コード全体像ではコードがうまく貼り付けできなかったので、インテンドがうまく表示されないのでそこはご注意ください。

最初はtweepyをインストールしたはずなのにimportできませんという思わぬ、エラーが出てしまい、少し時間がかかりました。

ModuleNotFoundError: No module named 'tweepy'

私の場合は、インストールした先のパスとインポート先のパスがリンクしておらず、『そのようなモジュールはないけど?』ということになってしまったようです。

 なので、sys.path.appendでtweepyのインストール先リンクをpythonがリンクしているパス一覧へ追加するコードをかますことでなんとか回避することができています。

import sys
sys.path.append(r"c:\users\user\appdata\local\programs\python\python37-32\lib\site-packages")
import tweepy

 

pythonがリンクしているパス一覧確認

import sys
print(sys.path)

f:id:tamurasann:20190430082835p:plain

 

インストールしたpipの保存先の確認

f:id:tamurasann:20190430083029p:plain

f:id:tamurasann:20190430082950p:plain

このLocationに書いているパスがpythonがリンクしているパス一覧になければModuleNotFoundError: No module named '****' というエラーが出ると思います。