Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Python http.client.Uncomplete读取(0字节读取)错误_Python 3.x_Web Scraping_Beautifulsoup_Urllib - Fatal编程技术网

Python 3.x Python http.client.Uncomplete读取(0字节读取)错误

Python 3.x Python http.client.Uncomplete读取(0字节读取)错误,python-3.x,web-scraping,beautifulsoup,urllib,Python 3.x,Web Scraping,Beautifulsoup,Urllib,我在论坛上看到了这个错误,并仔细阅读了回复,但我仍然不明白它是什么或如何解决它。我正在从16k链接中从互联网上抓取数据,我的脚本从每个链接中抓取类似的信息,并将其写入.csv。在出现此错误之前,某些日期会被写入 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.p

我在论坛上看到了这个错误,并仔细阅读了回复,但我仍然不明白它是什么或如何解决它。我正在从16k链接中从互联网上抓取数据,我的脚本从每个链接中抓取类似的信息,并将其写入.csv。在出现此错误之前,某些日期会被写入

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)
回溯(最近一次呼叫最后一次):
文件“/usr/local/cillar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py”,第541行,在左下角
chunk\u left=self.\u read\u next\u chunk\u size()
文件“/usr/local/cillar/python3/3.5.2\u 3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py”,第508行,以“读取下一个块大小”
返回整数(第16行)
ValueError:基为16:b''的int()的文本无效
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“/usr/local/ceral/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py”,第558行,在“readall”分块中
chunk\u left=self.\u获取\u chunk\u left()
文件“/usr/local/cillar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py”,第543行,在左下角
提升不完全读取(b“”)
http.client.IncompleteRead:IncompleteRead(读取0字节)
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“MoviesToDb.py”,第91行,在
html=r.read()
文件“/usr/local/ceral/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py”,第455行,已读
返回self.\u readall\u chunked()
文件“/usr/local/ceral/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py”,第565行,在“readall”分块中
引发未完成读取(b“”。加入(值))
http.client.IncompleteRead:IncompleteRead(读取17891字节)
我想知道:
1)这个错误是什么意思
2)如何防止它?

尝试导入:

from http.client import IncompleteRead
并将其添加到脚本中:

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

这是因为http协议的服务器是1.0版本,而python使用1.1版本。解决方案是分配客户端的协议版本,如下所示

Python3版本请添加:

> import http.client
> http.client.HTTPConnection._http_vsn = 10
> http.client.HTTPConnection._http_vsn_str = 'HTTP/1.0'
> import http.client
> http.client.HTTPConnection._http_vsn = 10
> http.client.HTTPConnection._http_vsn_str = 'HTTP/1.0'
Python2版本请添加:

> import http.client
> http.client.HTTPConnection._http_vsn = 10
> http.client.HTTPConnection._http_vsn_str = 'HTTP/1.0'
> import http.client
> http.client.HTTPConnection._http_vsn = 10
> http.client.HTTPConnection._http_vsn_str = 'HTTP/1.0'

请参阅参考资料

如何将其与docker on airflow结合?现在我在下载docker层时遇到了这个问题。