前提・実現したいこと
pythonでスクレイピングの勉強をしているのですが、下記のように文法がエラーになってしまいます。
ここは別の正常に動くところから持ってきたのでわからなく…教えていただきたいです。
発生している問題・エラーメッセージ
def fetch(url: str) -> requests.Response: ^ SyntaxError: invalid syntax
該当のソースコード
python3
1import requests 2from tenacity import retry, stop_after_attempt, wait_exponrntial # pip install tenacity 3 4TEMPORARY_ERROR_CODES=(408,500,502,503,504) 5 6def main(): 7 response = fetch('https://httpbin.org/status/200,404,503') 8 if 200 <= response.status_code < 300: 9 print('Success!') 10 else: 11 print('Error!') 12 13@retry(stop=stop_after_attempt(3), wait=wait_exponential(multiplier=1)) 14 15def fetch(url: str) -> requests.Response: 16 17 print(f'Retrieving {url}...') 18 response = requests.get(url) 19 print(f'Status: {response.status_code}') 20 if resopnse.status_code not in REMPORARY_ERROR_CODES: 21 return response 22 23 raise Exception(f'Temporary Error: {response.status_code}') 24 25if __name __ == '__main__: 26 main()
その前に、3か所のエラーがあります。それを直してからにお願いします。
from tenacity import retry, stop_after_attempt, wait_exponential # pip install tenacity
↓
from tenacity import retry, stop_after_attempt, wait_exponrntial # pip install tenacity
if response.status_code not in TEMPORARY_ERROR_CODES:
↓
if resopnse.status_code not in REMPORARY_ERROR_CODES:
if __name__ == '__main__':
↓
if __name __ == '__main__:
↓は↑のミスでした。読み替えてください。
ありがとうございます。解決致しました。
今回は、from tenacity import retry, stop_after_attempt, wait_exponrntial # pip install tenacityのスペルミスがあったので、次の:までを関数と見られてしまいエラーとなってしまったようです。
良かったです。自分で「自己解決」として回答をかいてください。
回答ではなくコメントとして、いただいていたのですね。
承知致しました。自己解決させていただきます。ありがとうございました。
回答2件
あなたの回答
tips
プレビュー