**用例:**我尝试连接流媒体API,摄取这些事件,过滤它们并保存相关事件。
**问题:**我的代码运行良好,直到大约1100个响应。在这一点之后,代码不会崩溃,但它似乎停止从流中提取更多数据。我猜这是某种缓冲区的问题,但老实说,流对我来说是新的,我不知道是什么导致了这个问题。
编码
import requests
def stream():
s = requests.Session()
r = s.get(url, headers=headers, stream=True)
for line in r.iter_lines():
if line:
print(line)
我也尝试过没有会话对象的情况下,我得到了相同的结果。
是否有我忽略的参数或我不知道的概念?我已经搜索了文档/互联网,没有什么东西在我身上跳出来。
任何帮助都是非常感谢的。
编辑在我这边一切看起来都是正确的,我认为流在初始连接时会生成大量事件,然后它们会慢下来。然而,现在的问题是,在连接几分钟后,我得到了这个错误:
Traceback (most recent call last):
File "C:\Users\joe\PycharmProjects\proj\venv\lib\site-packages\urllib3\response.py", line 572, in _update_chunk_length
self.chunk_left = int(line, 16)
ValueError: invalid literal for int() with base 16: b''
2条答案
按热度按时间mrzz3bfm1#
按照“正文内容工作流”(
requests
库)部分的指导原则进行流式传输数据。样本方法:
输出:
7dl7o3gd2#
你可能会受到利率限制。正在尝试打印请求对象的状态代码。
例如,在您的代码中:
运行此命令,直到得到第1100个响应。您拨打的电话可能有费率限制。如果您收到429响应,这意味着您必须等待一段时间才能继续拨打电话。