質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

596閲覧

python(tweepy)を用いたツイート取得について

87872525

総合スコア0

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/11/10 00:32

前提・実現したいこと

現在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で実行しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

quickquip

2021/11/10 01:14 編集

コードは読めるように引用してください。前後行を```で括る( https://teratail.com/help#about-markdown )か、編集エディタ上で選択して<code>ボタンを押す( https://teratail.com/help/question-tips#questionTips3-5-1 )かして、インデントがなくならないようにしましょう。 説明文の前の#も消しています。 も無用です。コードはなるべく回答者が実行するのに負担がないようにするべきです。可能ならそのままコピーアンドペーストして実行できるのが望ましいです。 (トークンなどは消しています。 は当然の対応なのでokです。変数宣言だけ残してある今の状態が完璧です) > ネットの情報を見ながら時刻変換を行ってみましたが、変換されておらず とありますが、このコードを動かして「変換されてない」と思っているということですか? このコード以外でchange_time_JST関数を呼び出すようにしてみたけどうまくいっていないということですか? この質問には「このコードを動かした」のか明記されておらず、「こういう結果が出た」という情報がありません。まず何が問題点なのかを明らかにするために、上記の確認から始めないといけません。 https://teratail.com/help/question-tips#questionTips3-4-1 > 「どういう現象がおきましたか?」という質問は実際の結果、実際に起きたことを求めている表現です。「うまく動かない」というだけでは、何も伝わりません。 > 実際に起きた結果を示しましょう。例えば、「○○というエラーが表示された」、「レイアウトがこのように崩れてしまった」等です。あなたの想像ではなく、実際に起きたことを述べましょう。 この"質問するときのヒント"は、本当にその通りと思えることが書いてあるので目を通しておくとよいです。
87872525

2021/11/14 07:23

コードの引用など詳細に教えていただきありがとうございます。 質問の記載方法が不適切でした。 申し訳ありません。 また修正させていただきたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問