なろう分析記録

『小説家になろう』をふくめ『ネット小説投稿サイト』を分析する。コード置き場,主にPython,javascript,たまに創作。

【Python】tweepyを使ってツイートを全取得し、エクセルファイルに落とし込む

Pythonでツイートを全取得する

ここではPythonのtweepyプラグインを使ってツイートを全取得する方法をご紹介したいと思います。

f:id:karupoimou:20190708141319p:plain:w400
全ツイート取得例

準備

ツイッターAPI Keyの取得

このコードを使用するためにツイッターAPI Keyが必須です。

ツイッターAPI Keyの取得方法については以下の記事などを御覧ください。

karupoimou.hatenablog.com

2019年現在、API Keyの取得には申請が必要で、審査が終わってAPI Keyが入手できるまでには数日から数週間ほど掛かる様です。

pip

pip install tweepy
pip install pandas

ツイッターアカウントIDを調べる

f:id:karupoimou:20190704185014p:plain
ツイッターアカウントID

「@」以降の文字列がツイッターアカウントIDになります。

ツイート全取得コード

#ツイートをエクセルファイルに出力する
import tweepy
import pandas as pd
import datetime

# TweepyAPI KEY
CONSUMER_KEY = "XXXXXXXXXXXXXXXXXXXXXXXXX"
CONSUMER_SECRET = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
ACCESS_TOKEN = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
ACCESS_TOKEN_SECRET = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

#tweepyの設定
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = tweepy.API(auth)

columns_name=["TW_NO","TW_TIME","TW_TEXT","RT","FAV"]

#ここで取得したいツイッターアカウントIDを指定する
tw_id="karupoimou"

#ツイート取得
def get_tweets():
    tweet_data = []

    for tweet in tweepy.Cursor(api.user_timeline,screen_name = tw_id,exclude_replies = True).items():
        tweet_data.append([tweet.id,tweet.created_at,tweet.created_at+datetime.timedelta(hours=9),tweet.text.replace('\n',''),tweet.favorite_count,tweet.retweet_count])

    df = pd.DataFrame(tweet_data,columns=columns_name)
    df.to_excel('tw_%s.xlsx'%tw_id, sheet_name='Sheet1')
    
    print("end")

get_tweets()

出力ファイル

f:id:karupoimou:20190704185130p:plain
出力ファイル
pythonコードを実行するとエクセルファイルが出力されます。

参考にしたページ

qiita.com