前提・実現したいこと
タイトル通りハッシュタグが含まれているツイートを除外して取得したいです。
初心者ですがよろしくお願いします。
該当のソースコード
python
1import tweepy 2import csv 3import pprint 4import pandas as pd 5import os 6import time 7 8#ここはお決まりです。 9consumer_key = '' 10consumer_secret = '' 11access_token = '' 12access_token_secret = '' 13auth = tweepy.OAuthHandler(consumer_key, consumer_secret) 14auth.set_access_token(access_token, access_token_secret) 15api = tweepy.API(auth) 16 17#ツイートを保存するGoogle Driveのディレクトリです。事前に作っておきましょう。 18drive_path = '' 19#学習用のデータセットで必要なツイート数を指定しています。 20max_tweets = 10000 21 22def getMtTweet(): 23 #取得したツイートを格納するための配列 24 tweets = [] 25 num = 0 26 i = 1 27 print('page ' + str(i)) 28 #自分のタイムラインを取得するためuser_timelineを使用します。1リクエストで取得できるツイートの上限数は100です。 29 tweet_data = api.home_timeline(include_rts=False,count=100) 30 if(len(tweet_data) > 0): 31 for tweet in tweet_data: 32 #データセット用に各ツイートの最後に<|endoftext|>をつけて整形します。 33 tweets.append([tweet.text+"<|endoftext|>"]) 34 num += 1 35 i += 1 36 next_max_id = tweet_data[-1].id 37 while True: 38 print('page ' + str(i)) 39 tweet_data = api.home_timeline(include_rts=False,count=100, max_id=next_max_id-1) 40 if(len(tweet_data) > 0): 41 next_max_id = tweet_data[-1].id 42 for tweet in tweet_data: 43 tweets.append([tweet.text+"<|endoftext|>"]) 44 num += 1 45 if(num >= max_tweets): 46 break 47 i += 1 48 #Twitter API制限の上限でエラーにならないようにディレイをかけています。 49 time.sleep((15*60)/180) 50 else: 51 break 52 saveTweets(tweets) 53 else: 54 print('zero tweet') 55 56 57def saveTweets(tweets): 58 ut = time.time() 59 #csv使ってますがデータセット用にテキストファイルで保存します。 60 file_path = drive_path+'myTweets_' + str(ut) + '.txt' 61 file = open(file_path, 'w') 62 w = csv.writer(file) 63 w.writerows(tweets) 64 file.close() 65 66 with open(file_path) as f: 67 print(f.read()) 68 69getMtTweet()
補足情報(FW/ツールのバージョンなど)
Google Colaboratoryを使用しています。
あなたの回答
tips
プレビュー