【发布时间】:2015-05-18 18:13:46
【问题描述】:
正在尝试获取此特定页面...
request = requests.get('http://market.yandex.ru/catalog/90555/list')
...给我一个奇怪的错误:
ValueError Traceback (most recent call last)
C:\Python34\lib\site-packages\requests\packages\urllib3\response.py in read_chunked(self, amt)
406 try:
--> 407 self.chunk_left = int(line, 16)
408 except ValueError:
ValueError: invalid literal for int() with base 16: ''
我发现应该归咎于字符串的某些部分。我正在试验它,结果更奇怪:
# No error
http://market.ru/catalog/90555/list
http://market.yandex.ru/catalo
# Error
http://market.yandex.ru/catalog
附:顺便说一句,今天出现了问题。就在最近,我在获取这个页面时没有任何问题(使用相同的方法)。
【问题讨论】:
-
您是否 100% 确定您没有运行旧版本的库?您是否可能升级并忘记重新启动?回溯中的源代码表明应该捕获异常。
-
@MartijnPieters,我遇到了类似的问题,当我用浏览器打开页面时,它要求用下面的消息填写验证码
-
@PadraicCunningham:但不一样的回溯。我设法在
requests中很好地加载了页面,但如果他们实施的速率限制直接违反了分块传输编码的预期,那么urllib3库将在那里引发IncompleteRead异常。ValueError异常使得不被捕获毫无意义。 -
@MartijnPieters,你是怎么填写验证码的?
-
@SereznoKot:确实是这样,但实施得很糟糕。
标签: python python-3.x python-requests