pythonでBeautifulSoupを実行する際に希に発生するRemoteDisconnectedに対処したい
python3.6でWebスクレイピングをしています。
BeautifulSoupを用いてHTMLを取得し、データを処理する際に
RemoteDisconnectedエラーがでてしまいます。
これがでた際には処理をスキップ(値にErrorなどを返して次の処理に進む)する様な、判定を組み込みたいのです。
お力お貸し頂けませんか。
総数3万ほどのURLに対して連続して処理を行って行くもので、必ず現れるエラーでもないものの、エラーが出たタイミングで止まってしまうので
実行して放置が出来ません。
発生している問題・エラーメッセージ
File "/Applications/anaconda3/envs/python36R/lib/python3.6/http/client.py", line 266, in _read_status raise RemoteDisconnected("Remote end closed connection without" RemoteDisconnected: Remote end closed connection without response
該当のソースコード
python
1def collector(URL): 2 html=urlopen(URL) 3 bsObj=BeautifulSoup(html,"lxml")#この行を実行後にエラーが出ます 4 tex=bsObj.get_text() 5 sleep(0.5) 6 7以下、取得したデータへの処理が続きます。 8
試したこと
そもそも処理が早すぎるのかと
python
1bsObj=BeautifulSoup(html,"lxml")#この行を実行後にエラーが出ます 2sleep(0.5)
と、処理に間を置いてみましたがだめでした。
if bsObj =="":
や
if bsObj =="Remote end closed connection without"
などで判定できるかと試みましたが出来ませんでした
python公式(https://docs.python.jp/3/library/http.client.html)なども確認しましたが、対処法に繋がる有効な情報は得られませんでした。
そもそもこのエラーがでたときに、何という値にRemote end closed connection withoutが返されてきているのが分からないので対処がうまく出来ません。
何卒よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/04 08:56
2018/04/05 10:21
2018/04/05 10:21
2018/04/05 13:46
2018/04/05 14:05