Python スクレイピング

【Python】TwitterAPIを使って特定アカウントのツイートをまとめて取得する

この記事は約4分で読めます。

 

今回は前回紹介したTwitterのapiをPythonで叩けるようにラッピングした「tweepy」について紹介しました

 

関連記事:【Python】TwitterのAPIを簡単操作できる「Tweepy」の使い方

 

Tweepyを使って特定のアカウントの呟きを一括取得する

 

今回はその応用でtweepyを使って特定のアカウントの過去ツイートをまとめてスクレイピングする方法について紹介したいと思います。

 

# ライブラリの読込とTwitterAPI鍵の設定
import tweepy

from datetime import timedelta

import pandas as pd

CK = ''     # Consumer Key

CS = ''     # Consumer Secret

AT = ''     # Access Token

AS = ''     # Accesss Token Secert

 

API鍵についてはバージョン1.1のものを使用する前提になります。

 

2021年から新しくできたV2のAPI鍵については以下の記事を参照してください

参照:【Python】TweepyでTwitterAPI_V2のAPIを使ってツイートするサンプルプログラム

 

 

#認証情報を設定

auth=tweepy.OAuthHandler(CK, CS)

auth.set_access_token(AT, AS)

#APIインスタンスの作成

api=tweepy.API(auth)

#アカウント指定(@の後ろの英数字、↓はサンプルID)

Account = 'python_mllover'

#ツイート保存用変数&取得するツイートを計算する

tweet_data = []

num = 0

for page in range(17):

    tweets = api.user_timeline(Account, count=200, page=page)

    for tweet in tweets:

        tweet.created_at += timedelta(hours=9)
#         print('----------') #見やすいように
#         print(tweet.created_at) #書くツイートの投稿時間表示
#         print(tweet.text) #各ツイート内容表示

        num += 1

        tweet_data.append(['@'+Account, tweet.created_at, tweet.text])

print(num, 'ツイート表示しました。')

# ツイートデータをデータフレームに変換

tweet_data = pd.DataFrame(tweet_data, columns=["account", "date", "tweet"])

tweet_data

 

<実行結果>

 

無償用のAPIだと特定のアカウントに対する過去のツイートの取得は3400ツイートまでなので、range(17)を指定しています。ちなみにデータフレームに格納したデータを抜き出したいときは以下のようにすればよいです。

 

# 適当なツイートデータを抜き出す

tweet_data.iloc[7]

print(tweet_data.iloc[7].date)

print(tweet_data.iloc[7].tweet)

 

 

関連記事:【Python】Tweepyで相互フォローの確認&フォロバとリムーブを自動化

関連記事:【Python】Tweepyで検索に引っかかったツイートを自動ファボ

 

 

 

 

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

  1. […] 参照記事:【Python】TwitterのAPIを使って特定のアカウントの呟きを一括取得する […]

タイトルとURLをコピーしました