前提・実現したいこと
現在python3.3.8を用いて、ツイートデータの取得を行っています。
(プログラミング初心者です。)
APIは申請済みです。
以下の2点のコードが分かりません
・created_atを日本時刻で出力
・テキストを改行なしで出力
よろしくお願いします。
発生している問題・エラーメッセージ
ネットの情報を基にプログラムを組んでみましたが、よく分かりませんでした。
該当のソースコード
(トークンなどは消しています。説明文の前の#も消しています。)
#python
import tweepy
import csv
consumer_key = ''
consumer_secret = ''
access_token = ''
access_secret = ''
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
api = tweepy.API(auth, wait_on_rate_limit = True) #tweepy.APIメソッドをapiに代入。API利用制限にかかった場合、解除まで待機する
q = input('keyword:')#検索したいキーワード
count=100 #取得するツイートの個数
tweet_list=[]
tweets = api.search_tweets(q=q,
locale="ja",
count=count,
tweet_mode='extended', # 省略されたツイートを全て取得
include_entities = 'True')# 省略されたリンクを全て取得
def change_time_JST(u_time):
イギリスのtimezoneを設定するために再定義する
utc_time = datetime(u_time.year, u_time.month,u_time.day,
u_time.hour,u_time.minute,u_time.second, tzinfo=timezone.utc)
タイムゾーンを日本時刻に変換
jst_time = utc_time.astimezone(pytz.timezone("Asia/Tokyo"))
文字列で返す
str_time = jst_time.strftime("%Y-%m-%d_%H:%M:%S")
return str_time
tweet_list.append(["",
"user.id",
"created_at",
"user.screen_name",
"user.followers_count",
"user.friends_count",
"user.description",
"id",
"text",
"favorite_count",
"retweet_count",
"in_reply_to_screen_name",
"in_reply_to_user_id",
"retweeted",
"geo",
"source"
])
for tweet in tweets:
tweet_list.append (["@",
tweet.user.id,
tweet.created_at,
tweet.user.screen_name,
tweet.user.followers_count,
tweet.user.friends_count,
tweet.user.description,
tweet.id,
tweet.full_text,
tweet.favorite_count,
tweet.retweet_count,
tweet.in_reply_to_screen_name,
tweet.in_reply_to_user_id,
tweet.retweeted,
tweet.geo,
tweet.source
])
file_name=input('ファイル名:')
with open(file_name, "w", newline="", encoding="utf-16") as f:
writer = csv.writer(f, dialect="excel-tab", quoting=csv.QUOTE_ALL)
writer.writerows(tweet_list)
試したこと
ネットの情報を見ながら時刻変換を行ってみましたが、変換されておらず
上手く自分のコードに組み込めていないと思います。
補足情報(FW/ツールのバージョンなど)
atomでコードを作成し、anacondaで実行しています。
あなたの回答
tips
プレビュー