python requestsを用いてHTMLを取得しています。
しかし連続して取得する数が多く,取得失敗することがあります。ここで,エラーが出たら実行を停止するのではなく,エラーを無視して次のURLから取得するようにしたいと思います。
例;下記リストAの'9784062185363'で取得失敗したら次の'9784062175654'を取得し,プログラムが止まらないようにする。
なお,下記のリストAの要素数はもっと多いです。今回は質問のために4つだけ載せています。どなたかご教授ください。
python
1import requests 2import re 3from time import sleep 4 5A=['9784163906188', '9784062185363', '9784062175654', '9784575239058'] 6 7for item in A : 8 url = "https://www.suruga-ya.jp/search?category=&search_word="+item+"&searchbox=1" 9 print(url) 10 sleep(1) 11 data=requests.get(url) 12 data.encoding=data.apparent_encoding 13 name = item + ".htm" 14 with open(name, "w", encoding=data.encoding) as f: 15 f.write(data.text) 16 f.close()
以下のようなエラーが出ます。
ConnectionError: HTTPConnectionPool(host='www.netoff.co.jp', port=80): Max retries exceeded with url: /cmdtyallsearch?word=9784313204812 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x00000216C572B278>: Failed to establish a new connection: [WinError 10065] 到達できないホストに対してソケット操作を実行しようとしました。',))
ConnectionError: HTTPConnectionPool(host='www.netoff.co.jp', port=80): Max retries exceeded with url: /feed/search,st,q=9784758112048 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000022492655390>: Failed to establish a new connection: [WinError 10060] 接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。',))
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/28 06:36