Twitterハッシュタグの組み合わせを数えるプログラムについて
過去のTwitterの特定のハッシュタグが使用されているツイートデータを収集し、そのハッシュタグが異なるハッシュタグと一緒にツイートされていた場合に、どのような組み合わせで使用されているかをjsonファイルにまとめようとしたのですが、Tweepyを使用してリアルタイムでの収集をすることはできました。
しかし、過去に遡っての収集はAPIを利用したやり方では一週間以上前の収集ができないのでGetOldTweets-pythonというものを利用してツイート自体の収集しましたが、リアルタイムで行っていたプログラムのどこを修正すれば、過去のツイートを収集する場合にも、下記に貼ったリアルタイムで収集していた時の画像と同じような結果の処理を行えるのかがわかりません。
※リアルタイムで収集していたものとハッシュタグが違いますが熱中症で収集したいと思っています。
Tweepyを使用時のプログラム↓
from tweepy.streaming
import StreamListener
import json
import networkx as nx
G = nx.Graph()
class MyStreamListener(StreamListener):
def __init__(self, api, **kw):
self.api = api
super(tweepy.StreamListener, self).__init__()
self.twcnt = 0
def on_status(self, tweet):
self.twcnt += 1
for tag0, tag1 in itertools.combinations(tweet.entities['hashtags'], 2):
tag0 = tag0['text']
tag1 = tag1['text']
if G.has_edge(tag0, tag1):
G[tag0][tag1]["weight"] += 1
else:
G.add_edge(tag0, tag1, weight=1)
if self.twcnt > 10000:
return False
def on_error(self, status):
return True
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
stream = tweepy.Stream(auth, MyStreamListener(api))
stream.filter(track=['#RTした人全員フォローする'])
GetOldTweetsで過去のツイートを収集するプログラム↓
tweetCriteria = got.manager.TweetCriteria().setQuerySearch('#熱中症').setSince("2018-07-10").setMaxTweets(21000)
tweet = got.manager.TweetManager.getTweets(tweetCriteria)
print(tweet)
for v in tweet:
print(v.text)