Twitterで特定のワードを含むツイートの情報を取得するプログラムです。
実際に取得した情報は、24時間以内で福知山というワードを含むツイートの内容と投稿件数です。
①実行時の日時を取得する。
②取得した日時の0:00:00~23:59:59の間で指定したキーワードを含むツイートの件数とツイート内容を取得する。
③schedule関数を使い、①,②を毎日23:59に自動で実行する。
import tweepy
import datetime
import schedule
import time
def tweet_a():
consumer_key = " "
consumer_secret = " "
access_token = " "
access_token_secret = " "
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
date = datetime.date.today()
print(date)
DATE = date.strftime('%Y-%m-%d')
keyword = '#福知山' #キーワードを入力
data_since = DATE+"_00:00:00_JST"
data_until = DATE+"_23:59:59_JST"
tweets_data = []
print(data_since)
for tweet in tweepy.Cursor(
api.search,
q=keyword,
tweet_mode='extended',
since=data_since,
until=data_until,
lang='ja').items(10000): #取得するツイート件数の上限
tweets_data.append(tweet.full_text.strip().replace('\n', '。') + '\n')
print(len(tweets_data))
tweets = api.search(q=keyword,since=data_since,until=data_until,lang='ja',count=20 #表示するツイート数)
for tweet in tweets:
print('-----------------')
print(tweet.text)
schedule.every().day.at("23:59").do(tweet_a)
while True:
schedule.run_pending()
time.sleep(1)
import csv
column = 2 #並び替える行数を入力
with open(#ファイル名) as f:
csv.reader(f)
x=[]
for row in csv.reader(f):
x=x+[row]
def quick_sort(arr,col):
left_arr = []
right_arr = []
if len(arr) <= 1:
return arr
pivot = arr[0]
pivot_count = 0
for ele in arr:
ele[col] = int(ele[col])
if ele[col] < int(pivot[col]):
left_arr.append(ele)
elif ele[col] > int(pivot[col]):
right_arr.append(ele)
else:
pivot_count += 1
left_arr = quick_sort(left_arr,col)
right_arr = quick_sort(right_arr,col)
return left_arr + [pivot] * pivot_count + right_arr
ar = x
quick_sort(ar,column)
print("")
print("ソート前:", ar)
sorted_ar = quick_sort(ar,column)
print("ソート後:", sorted_ar)