Задать вопрос
@wows15
В автоматизации сила, брат

Почему проверка прокси стабильнее через потоки чем через асинхронщину?

Тестирую списки проксей. С помощью модулей threading и requests находится в ~5 раз больше валидных прокси, чем через asyncio и aiohttp. Почему так происходит? Таймаут один и тот же. Везде создаётся одна сессия на 1 запрос. Один и тот же список. Проверяю не одновременно двумя методами.

Код aiohttp: https://pastebin.com/dWwgtTW2
Код requests: https://pastebin.com/Xs8QAGgL
  • Вопрос задан
  • 349 просмотров
Подписаться 3 Простой 10 комментариев
Решения вопроса 2
greyhard
@greyhard
Программист, автолюбитель
Потому что в асинхронщине вы не можете быть уверены через какой прокси идет очередной запрос. Да он поддерживает прокси но для всех Запросов. В итоге вы посылаете на проверку 10 проксей а по факту проверяется только один, потому и такой большой процент отказов. Для проверки проксей каждый запрос должен быть изолирован.
Ответ написан
@wows15 Автор вопроса
В автоматизации сила, брат
И вот, спустя полгода, я понял, что в aiohttp стоит ограничение на кол-во одновременных соединений by default. Решение:
from aiohttp import ClientSession, TCPConnector

async with ClientSession(connector=TCPConnector(limit=0)) as session:
    ...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы