@sumi3sew

Почему http запросы с прокси требуют так много оперативки?

Есть скрипт, который отправляет запросы на разные сайты, выглядит примерно вот так:

def get_proxy():
    proxy_list = [‘первая прокся´, ´вторая´]
    proxy = random.choice(proxy_list)
    return proxy


While True:
    proxy = get_proxy()
    r = requests.get(url, proxies=proxy)

    proxy = get_proxy()
    r = requests.get(url, proxies=proxy)

    proxy = get_proxy()
    r = requests.get(url, proxies=proxy)


То есть обычный цикл с отправкой запросов (есть несколько условий для завершения цикла, но это роли не играет)

И вот в чем проблема
Если в методе подбора прокси убрать все и написать

proxy = {}
return proxy

То скрипт юудет занимать стабильно 30-35 мб оперативки при запуске и после нескольких часов работы

Но если возвращать не пустое значение, а подбирать прокси из массива ( как в первом примере ) скрипт через час после запуска начинает занимать уже 500 и более мб оперативки, из-за чего это может быть? Как это исправить?
  • Вопрос задан
  • 163 просмотра
Пригласить эксперта
Ответы на вопрос 1
SagePtr
@SagePtr
Еда - это святое
Видимо, утечка памяти в библиотеке requests.
Оно: https://github.com/psf/requests/issues/4601 ?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы