tweepyを使って日本語のみのtweetを取得

個人的なブログですので、内容に誤りがある場合があります。間違いのない情報が欲しい場合は公式ドキュメントを読んでください。優しい方は間違いを指摘していただけると嬉しいです。

つい先日まで、tweepyでツイートのテキスト情報を取得するときはなぜか日本語だけ取得してくるものだと思っていました。まじでアホだなって思いますよね。普通に考えたら日本語以外も取ってくるだろうと想像ができるはず。。。。。

で、備忘録用としてこの記事に記録しておきたいと思います。

結論

簡単な話でtweepy.Cursorで「lang = 'ja'」とすれば良いだけ。

コード

APIの認証は済んだものとします。記載しているものをコピペしただけではうまくいかないのでご注意ください。

検索するキーワード

Q = 'mazda'

tweet情報の取得

import pandas as pd
import datetime

tweets_uid =[]
tweets_time =[]
tweets_text =[]

# ここでlang = 'ja'を指定する
for tweet in tweepy.Cursor(api.search, q=Q, count=100,tweet_mode='extended', lang = 'ja').items(): 
    # 「textに「mazda」がない and uidに「mazda」が入っている」を除くため
    if Q in tweet.full_text.lower():
        tweets_uid.append(tweet.user.screen_name)
        tweets_text.append(tweet.full_text)
        #つぶやき時間がUTCのため、JSTに変換
        jsttime = tweet.created_at + datetime.timedelta(hours=9)
        tweets_time.append(jsttime)
    else:
        pass
tweets = pd.DataFrame({'uid':tweets_uid,
                       'timestamp':tweets_time,
                       'text':tweets_text})

参考

公式ドキュメント:

Tweepyドキュメント — tweepy 3.6.0 ドキュメント