позиции · сбор данных · отчёты
реклама IPrazon Network: приватные прокси IPv4 и SOCKS5, пул 12 000 адресов, безлимитный трафик, бесплатный тест до 2 часов

Разделы · Код и программные интерфейсы

Как проверить прокси в сборщике: адреса уходят в отказ

10 ответов · 1 569 просмотров
знак участника Емельян Ц.
Емельян Ц.Знаток
  • сообщений 2 130
  • на форуме 3 мес
Код и программные интерфейсы

Переделываю сборщик и хочу сделать по уму.

Повторы стоят три раза с паузой, которая растёт вдвое. Результаты пишу пачками по тысяче строк.

Буду признателен за конкретику.

знак участника podset
podsetВетеран
  • сообщений 3 480
  • на форуме 1 мес
Емельян Ц. писал: Как проверить прокси в сборщике: адреса уход…

Одно уточнение, иначе расчёт уедет.

Адрес выбирайте по кругу с пропуском тех, что в отказе. Случайный выбор даёт перекос, кому-то достанется втрое больше запросов.

Хороший вопрос, редко разбирают.

знак участника Ефим Гладков
Ефим ГладковУчастник
  • сообщений 850
  • на форуме 9 мес

Это следствие, а причина лежит глубже.

Структуру ответа проверяйте на каждом разборе. Площадки меняют её без предупреждения, и молчаливая потеря полей самая опасная.

Если поможет, напишите здесь же, пригодится следующим.

знак участника Мельник И.
Мельник И.Знаток
  • сообщений 1 655
  • на форуме 3 мес

Подтверждаю по своей практике.

Таймаут ставьте всегда и на соединение, и на чтение. Без него один зависший запрос держит поток часами.

Не держите весь список в памяти на больших объёмах. Читайте потоком, пишите пачками.

знак участника logi_i_grafiki
logi_i_grafikiУчастник
  • сообщений 895
  • на форуме 9 мес

Верно, и это не единичный случай.

Планировщик системы проще своей очереди, пока задач мало. После полусотни задач своя очередь окупается.

Проверку ответа делайте до разбора: пустое или короткое лучше отбросить сразу.

знак участника Шамиль Н.
Шамиль Н.Участник
  • сообщений 1 135
  • на форуме 6 мес

Какая версия программы и что с настройками по умолчанию?

знак участника Погодин
ПогодинУчастник
  • сообщений 942
  • на форуме 6 мес

Логи в помощь, без них это гадание.

знак участника proxyled
proxyledЗнаток
  • сообщений 1 620
  • на форуме 6 мес

Проверял на трёх проектах подряд, картина устойчивая.

Сессия должна создаваться один раз и жить весь прогон. Новая сессия на каждый запрос съедает время на установку соединения и путает настройки.

знак участника Русакова Е.
Русакова Е.Новичок
  • сообщений 255
  • на форуме 1 года

Мы упирались в то же, пока не поменяли подход.

Cookie при массовом сборе лучше сбрасывать. Накопленное состояние делает поведение непредсказуемым.

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)
знак участника polnyy_obhod
polnyy_obhodУчастник
  • сообщений 1 450
  • на форуме 5 мес
Емельян Ц. писал: Как проверить прокси в сборщике: адреса уход…

Верно, и это не единичный случай.

Число одновременных задач подбирайте замером. На глаз тут промахиваются всегда. Обычно кривая выходит на полку, и дальше растёт только число отказов.

Структуру ответа проверяйте на каждом разборе. Площадки меняют её без предупреждения, и молчаливая потеря полей самая опасная.

знак участника vydacha_live
vydacha_liveЗнаток
  • сообщений 1 975
  • на форуме 4 мес
Емельян Ц. писал: Как проверить прокси в сборщике: адреса уход…

Почти так, но одна деталь меняет вывод.

Не держите весь список в памяти на больших объёмах. Читайте потоком, пишите пачками.

Проверку ответа делайте до разбора: пустое или короткое лучше отбросить сразу.

Ответить в темеПодписаться

Рядом в разделе

Сеометр, форум специалистов по поиску и аналитике ПравилаУчастникиО форумеЛента 2026