2017-01-08 105 views
0

我在论坛上看到了这个错误,并通读了答案,但我仍然不明白它是什么或如何解决它。我从互联网上从16k链接中获取数据,我的脚本从每个链接中获取类似的信息,并将其写入一个.csv,在出现此错误之前会写入一些日期。Python http.client.Incomplete Read(0字节读取)错误

Traceback (most recent call last): 
File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 541, in _get_chunk_left 
    chunk_left = self._read_next_chunk_size() 
File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 508, in _read_next_chunk_size 
    return int(line, 16) 
ValueError: invalid literal for int() with base 16: b'' 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 558, in _readall_chunked 
    chunk_left = self._get_chunk_left() 
File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 543, in _get_chunk_left 
    raise IncompleteRead(b'') 
http.client.IncompleteRead: IncompleteRead(0 bytes read) 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
File "MoviesToDb.py", line 91, in <module> 
html = r.read() 
File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 455, in read 
    return self._readall_chunked() 
File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 565, in _readall_chunked 
    raise IncompleteRead(b''.join(value)) 
http.client.IncompleteRead: IncompleteRead(17891 bytes read) 

我想知道:
1)这个错误是什么意思?
2)我如何防止它?

回答

-1

尝试导入:

from http.client import IncompleteRead 

,并在脚本中添加此:

except IncompleteRead: 
    # Oh well, reconnect and keep trucking 
     continue 
+0

他不值得-2。他的解决方案确实奏效 –