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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

Q&A

1回答

344閲覧

tweetデータを取得したい

退会済みユーザー

退会済みユーザー

総合スコア0

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

0グッド

0クリップ

投稿2022/09/14 08:50

前提

ここに質問の内容を詳しく書いてください。
https://qiita.com/kenmatsu4/items/23768cbe32fe381d54a2

こちらの記事のプログラムを動かしてみたい

実現したいこと

tweetの取得

発生している問題・エラーメッセージ

except SSLError as (errno, request): ^ SyntaxError: invalid syntax

該当のソースコード

python

1sid=-1 2mid = -1 3count = 0 4 5res = None 6while(True): 7 try: 8 count = count + 1 9 sys.stdout.write("%d, "% count) 10 res = getTweetData(u'スタバ', max_id=mid, since_id=sid) 11 if res['result']==False: 12 # 失敗したら終了する 13 print("status_code", res['status_code']) 14 break 15 16 if int(res['limit']) == 0: # 回数制限に達したので休憩 17 # 日付型の列'created_datetime'を付加する 18 print("Adding created_at field.") 19 for d in tweetdata.find({'created_datetime':{ "$exists": False }},{'_id':1, 'created_at':1}): 20 #print str_to_date_jp(d['created_at']) 21 tweetdata.update({'_id' : d['_id']}, 22 {'$set' : {'created_datetime' : str_to_date_jp(d['created_at'])}}) 23 #remove_duplicates() 24 25 # 待ち時間の計算. リミット+5秒後に再開する 26 diff_sec = int(res['reset_time_unix']) - now_unix_time() 27 print("sleep %d sec.") % (diff_sec+5) 28 if diff_sec > 0: 29 time.sleep(diff_sec + 5) 30 else: 31 # metadata処理 32 if len(res['statuses'])==0: 33 sys.stdout.write("statuses is none. ") 34 elif 'next_results' in res['metadata']: 35 # 結果をmongoDBに格納する 36 meta.insert({"metadata":res['metadata'], "insert_date": now_unix_time()}) 37 for s in res['statuses']: 38 tweetdata.insert(s) 39 next_url = res['metadata']['next_results'] 40 pattern = r".*max_id=([0-9]*)\&.*" 41 ite = re.finditer(pattern, next_url) 42 for i in ite: 43 mid = i.group(1) 44 break 45 else: 46 sys.stdout.write("next is none. finished.") 47 break 48 except SSLError as (errno, request): 49 print("SSLError({0}): {1}").format(errno, strerror) 50 print ("waiting 5mins") 51 time.sleep(5*60) 52 except ConnectionError as (errno, request): 53 print ("ConnectionError({0}): {1}").format(errno, strerror) 54 print ("waiting 5mins") 55 time.sleep(5*60) 56 except ReadTimeout as (errno, request): 57 print ("ReadTimeout({0}): {1}").format(errno, strerror) 58 print ("waiting 5mins") 59 time.sleep(5*60) 60 except: 61 print ("Unexpected error:"), sys.exc_info()[0] 62 traceback.format_exc(sys.exc_info()[2]) 63 raise 64 finally: 65 info = sys.exc_info()

試したこと

私自身プログラミング初心者なので,具体的なことはまだ取り組めてません.

補足情報(FW/ツールのバージョンなど)

こちらがURLになります.
https://qiita.com/kenmatsu4/items/23768cbe32fe381d54a2

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

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

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

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

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

guest

回答1

0

例外をキャッチする際にエラーがシンタックスエラーが出て困っております。except as というメソッドです。と同じ原因です。
Python2.xという古いバージョンで書かれたコードなので、初心者であれば参考にしないほうがよいです。
できるだけ最近に書かれたコードかつ簡単なサンプルを探して参考にしたほうがよいです。

投稿2022/09/14 09:07

can110

総合スコア38266

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

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

退会済みユーザー

退会済みユーザー

2022/09/14 12:06

回答ありがとうございます。 貴重なアドバイスをありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問