urllib2
一部のデータを抽出するためにページを開く関数があります。80% の確率で正常に動作しますが、20% の確率でIncompleteRead
例外が発生します。
トレースバック
Traceback (most recent call last):
File "test.py", line 380, in <module>
main()
File "test.py", line 109, in main
soups.append(BeautifulSoup(out_queue.get().read()))
File "c:\python27\lib\socket.py", line 351, in read
data = self._sock.recv(rbufsize)
File "c:\python27\lib\httplib.py", line 541, in read
return self._read_chunked(amt)
File "c:\python27\lib\httplib.py", line 601, in _read_chunked
value.append(self._safe_read(chunk_left))
File "c:\python27\lib\httplib.py", line 649, in _safe_read
raise IncompleteRead(''.join(s), amt)
httplib.IncompleteRead: IncompleteRead(958 bytes read, 678 more expected)
基本からページを開いていますが、
response = urllib2.urlopen('the_url')
その後、プログラムでそれをBeautifulSoup
オブジェクトに変換します。
最初のリクエストが で行われたときに問題をキャッチする方法はありurllib2
ますか? 何かをしようとする前に、データが「完全」であることを確認する方法はありますか?