Posted at

#twitterAPIを使用して、twitterからテキスト情報、時間、ユーザーidを取得する。 for Python


目的

機械学習での為替分析のために、自然言語のデータを利用したいと考えたため。


条件

1.データは為替トレーダー御用達のtwitterから、関連するワードで検索をかけることで集める。

2.テキスト情報と時刻とユーザーIDを取得することにした。(ユーザーIDは重複したテキストを後々処理するため)

3.データの収集がメインの作業になるため、入力部分をできるだけ減らしたい

4.テキスト情報には絵文字を含まない


参考

上記の条件を満たすために参考にしたサイトが以下になる。

pythonで絵文字を駆逐する

tweepy公式ドキュメント

【Python】Tweepyの使い方まとめ


コード


python.py

import tweepy

import emoji
import pandas as pd

#ここには各人が取得した値を入れてください
CK = "your_CK"
CS = "your_CS"
AT = "your_AT"
ATS = "your_ATS"

auth = tweepy.OAuthHandler(CK, CS)
auth.set_access_token(AT, ATS)
twitter_df = pd.DataFrame(columns=["time","id","text"]) #dataframeの準備
api = tweepy.API(auth)

qwery_word = "ドル円" #ここに検索キーワードを設定 
count = 200

search_results = api.search(q=query_word, count=count)
for results in search_results:
time = results.created_at
user_id = results.id
text = remove_emoji(results.text)

results_info = pd.Series([time,user_id,text],index = twitter_df.columns)
twitter_df = twitter_df.append(results_info , ignore_index=True)
#csvとして出力
twitter_df.to_csv("your_path_name")



出力結果

time
id
text

2018-12-06 14:04:11
1070680302475862017
RT : 【ドル円USD/JPY】112.702 https://t.co/...


まとめ

コード自体は20分ほどでできました。

ですがテキストにRTやURLなどが含まれているので、そこをどのようにして綺麗にしていくかが今後の課題です。