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

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

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

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

Q&A

解決済

1回答

1431閲覧

python3でのスクレイピングのタイムアウトエラー表現方法を教えてください

SZR0601

総合スコア22

Python 3.x

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

0グッド

0クリップ

投稿2019/02/20 14:38

編集2019/02/21 17:09

#前提
以下のイメージでスクレイピングを実行した際のタイムアウト時の処理を書こうと考えています。

python3

1search = [] 2 3result = [] 4 5with open('IPlist.txt', encoding='utf-8') as f: 6 7 for rows in f: 8 row = rows.rstrip('\n\n') 9 search.append(row) 10 11for ip in search: 12 #seleniumでブラックリスト検索画面に移行 13 driver.get('https://www.aguse.jp/') 14 sleep(1) 15 #検索欄を選択 16 id=driver.find_element_by_id('url') 17 #searchからipアドレスを一つずつ検索欄に入力する 18 id.send_keys(ip) 19 sleep(1) 20 21 #検索開始ボタンを押下する 22 driver.find_element_by_class_name('btn1').click() 23 element = WebDriverWait(driver, 60).until( 24 EC.presence_of_element_located((By.CLASS_NAME, "section-body")) 25 ) 26 27 sleep(10) 28 29 source = driver.page_source 30 soup = BeautifulSoup(source, "html.parser") 31 32 if タイムアウトエラーが発生したことを示す: 33 result.append('timeout') 34 continue

#質問内容
上記のコード内の「タイムアウトエラーが発生したことを示す」という部分についてですが、
この部分をpythonで表現するにはどうすればいいかご教授下さい。

タイムアウト時のエラー内容は以下となります。

selenium.common.exceptions.UnexpectedAlertPresentException: Alert Text: None Message: unexpected alert open: {Alert text : タイムアウトしました} (Session info: chrome=72.0.3626.109) (Driver info: chromedriver=2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5 ab),platform=Windows NT 6.3.9600 x86_64)

よろしくお願いいたします。

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

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

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

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

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

mather

2019/02/20 15:09

「以下のイメージ」がものすごく雑なので、せめてもうちょっと書いてください。 「for (スクレイピング対象をループで処理)」 とか 「スクレイピング実行」はどこでする とか。
SZR0601

2019/02/21 17:10

情報が不足しており、お手数おかけいたしました。 コード内容を追加いたしましたので、ご回答いただければと思います。
guest

回答1

0

ベストアンサー

例外(Exception)のキャッチをして処理をしてください。

参考: https://docs.python.org/ja/3/tutorial/errors.html

投稿2019/02/20 15:11

mather

総合スコア6753

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

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

SZR0601

2019/02/22 03:17

ご回答頂き、ありがとうございます。
mather

2019/02/22 04:43

例外に関してはまずご自身で勉強してほしいです。 try: から except: で例外の発生する場所を指定し、例外が発生した場合に何をするかを except に記載してください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問