pythonでtwitter APIを利用して情報を取得する【サンプル】
今回、twitterから取得するのは以下の項目です
ツイートのID
ツイートした時刻
いいねされた数
リツイートされた数
ツイート内容
ID
ユーザー名
アカウント名
自己紹介文
フォロー数
フォロワー数
アカウント作成日時
自分がフォローしているか?
アイコン画像のURL
ヘッダー画像のURL
WEBサイト
上記の項目を全て取得して、取得後にcsvファイルに保存していきたいと思います
pythonでtwitterのツイートを取得する
では、まず完成しているコード
code:# ライブラリのインポート
# ライブラリのインポート
import tweepy
from datetime import datetime,timezone
import pytz
import pandas as pd
# Twitterの認証
# 取得したキーを格納
API_KEY = "***********************"
API_SECRET = "***********************"
ACCESS_TOKEN = "***********************"
ACCESS_TOKEN_SECRET = "***********************"
# Tweepy設定
# TwitterAPI認証
auth = tweepy.OAuthHandler(API_KEY, API_SECRET)
# アクセストークン設定
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
# ”wait_on_rate_limit = True” 利用制限にひっかかた時に必要時間待機する
api = tweepy.API(auth ,wait_on_rate_limit = True)
# 検索条件の設定
search_word = 'マーケティング'
item_number = 50
tweets = tweepy.Cursor(api.search_tweets,q=search_word,lang='ja').items(item_number)
def change_time_JST(u_time):
utc_time = datetime(u_time.year, u_time.month,u_time.day, \
u_time.hour,u_time.minute,u_time.second, tzinfo=timezone.utc)
jst_time = utc_time.astimezone(pytz.timezone("Asia/Tokyo"))
# 文字列で返す
str_time = jst_time.strftime("%Y-%m-%d_%H:%M:%S")
return str_time
tw_data = []
for tweet in tweets:
tweet_time = change_time_JST(tweet.created_at)
create_account_time = change_time_JST(tweet.user.created_at)
tw_data.append([
tweet.id,
tweet_time,
tweet.text,
tweet.favorite_count,
tweet.retweet_count,
tweet.user.id,
tweet.user.screen_name,
tweet.user.name,
tweet.user.description,
tweet.user.friends_count,
tweet.user.followers_count,
create_account_time,
tweet.user.following,
tweet.user.profile_image_url,
tweet.user.profile_background_image_url,
tweet.user.url
])
labels=[
'ツイートID',
'ツイート時刻',
'ツイート本文',
'いいね数',
'リツイート数',
'ID',
'ユーザー名',
'アカウント名',
'自己紹介文',
'フォロー数',
'フォロワー数',
'アカウント作成日時',
'自分のフォロー状況',
'アイコン画像URL',
'ヘッダー画像URL',
'WEBサイト'
]
df = pd.DataFrame(tw_data,columns=labels)
file_name='tw_data.csv'
df.to_csv(file_name,encoding='utf-8-sig',index=False)
※tw API 1.1で動く
code:tes
tweets = tweepy.Cursor(api.search,q=searchkey,lang='ja').items(item_num)
上を修正しています。上ではうごきません。
search_tweetsにする。
票のイメージ 仕上げ
https://scrapbox.io/files/635dc6b6f12672001d9439f9.jpg