Я пытаюсь подключиться к 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''
Подробнее здесь: https://stackoverflow.com/questions/574 ... a-from-api
Python запрашивает потоковые данные из API ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение