Разделы · Код и программные интерфейсы
Спрашиваю совета, потому что вариантов вижу три и все с изъяном.
Коротко об условиях.
На тысяче запросов всё ровно, на ста тысячах начинается расхождение. Задач в очереди около двух тысяч на прогон.
Хочу понять устройство, а потом уже крутить настройки.
Почти так, но одна деталь меняет вывод.
Пул адресов выносите в отдельную часть кода. Тогда смена поставщика занимает минуту.
Пул под такие объёмы держу постоянный. Беру приватный пул IPv4, потому что там разброс по подсетям нормальный, а это на съёме важнее скорости.
Разбейте задачу на части.
Половина верна, вторую половину поправлю.
Структуру ответа проверяйте на каждом разборе. Площадки меняют её без предупреждения, и молчаливая потеря полей самая опасная.
async with aiohttp.ClientSession() as s:
for i in range(3):
try:
r = await s.get(url, proxy=adres, timeout=30)
break
except Exception:
await asyncio.sleep(2 ** i)
Если поможет, напишите здесь же, пригодится следующим.
Что показывает простой запрос из консоли?
Набор новых участников сейчас приостановлен. Читать форум можно без учётной записи, все темы открыты.
Когда набор откроют, объявление появится в разделе с короткими вопросами.
Форма работает в браузере и никуда ничего не отправляет.