前回の記事:【Python】TwitterのAPIを簡単操作できる「Tweepy」の使い方
tweepyでツイート検索
まずは簡単にツイート検索します。
# ライブラリの読込とTwitterAPI鍵の設定
import tweepy
CK = '####' # Consumer Key
CS = '####' # Consumer Secret
AT = '####' # Access Token
AS = '####' # Accesss Token Secert
#認証情報を設定
auth=tweepy.OAuthHandler(CK, CS)
auth.set_access_token(AT, AS)
#APIインスタンスの作成
api=tweepy.API(auth)
#検索キーワードを指定(-filter:retweetsでRTを除外)
q = '安倍晋三 -filter:retweets'
#検索するツイート数
count = 5
#検索を実行
search_results = api.search(q=q, count=count,result_type='recent')
やばい呟きがチラホラと(笑)。ちなみに戻り値はjsonになっています。
ここで返ってきているのは、検索に引っかかった5ツイートの情報です。アプリとかで見る分には、見やすくまとまっていますが内部情報はこんな感じで見にくいです。とりあえず、この中から先頭の1つだけを引っ張ってきて操作してみます。
<Tweepyの基本操作>
# 検索結果から先頭の1つだけを抜き出す
sample = search_results[0]
# リツイート数を確認する
sample.retweet_count
# ファボ数を確認する
sample.favorite_count
# ツイート時刻
sample.created_at
# 自分がそのツイートをリツイートしているかどうか
sample.retweeted
# 自分がファボしているかどうか
sample.favorited
# ツイート内容を取得
sample.text
# ツイートしているユーザーの情報を取得する
sample.user._json['id'] # 内部ID
sample.user._json['description'] # プロフを取得
sample.user._json['screen_name'] # ユーザー名
sample.id # 内部のユーザーID
sample.user.name # 表面上のユーザーID
sample.created_at # ツイート時刻
ツイートにいいね!をする
ユーザ情報の取り方も↑に書いてあるので、少しアレンジすれば自然言語処理なんかにも使えると思う。自分の専門は時系列で自然言語はあんまり興味ないので、とりあえず本文を保存するだけにする。
import tweepy
# 検索キーワードを指定
q = 'python'
# 検索するツイート数
count = 10
# 検索を実行
search_results = api.search(q=q, count=count)
# 検索したツイート内容を保存する変数
tweet_list = []
# 検索結果を1つずる処理する
for result in search_results:
#ツイートのstatusオブジェクトからツイートidを取得、userから内部IDを取得する
user = result.user.name
username = result.user._json['screen_name']
time = result.created_at
tweet = result.text
tweet_list.append(tweet)
print(user, username)
print(tweet)
print(time)
try:
# いいね!をする
api.create_favorite(user_id)
except Exception as e:
print(e.args)
参照:https://github.com/beginerSE/twitter_follow_follower_confirm/blob/master/twitter_fav_scraping.py
count多くして沢山のいいねとフォローを飛ばすと、API制限を食らうので程よくやった方が良いです。ちなみに自分はこのスクリプトをLinuxのレンタルサーバー上にアップロードして、cronで定期的に実行してpython関連の呟きをしている人にファボを飛ばしています。
ツイートから感情分析とかをしたい人は、ツイート本文だけでなく、ツイートのプロフとか位置情報(日本or海外)とかも一緒に取得して、データフレームになんかに保管すると分析が捗りそうですね。
関連記事:【Python】Tweepyで相互フォローの確認&フォロバとリムーブ
関連記事:【Centos7】Cron上で無限実行しているファイルを停止する
関連記事:【Python】TwitterのAPI を利用してBotを作る その①
コメント
[…] 関連記事:【Python】Tweepyで検索に引っかかったツイートを自動でいいね!する […]
[…] 関連記事:【Python】Tweepyで検索に引っかかったツイートを自動でいいね!する […]
[…] 関連記事:【Python】Tweepyで検索に引っかかったツイートを自動ファボ […]
[…] 関連記事:【Python】Tweepyで検索に引っかかったツイートを自動でいいね!する […]