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

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

Работа с cookie при сборе: хранить или сбрасывать

11 ответов · 2 485 просмотров
знак участника zapros_min
zapros_minУчастник
  • сообщений 760
  • на форуме 10 мес
Код и программные интерфейсы

Задача техническая, прошу совета по устройству.

Вводные, чтобы не гадать.

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

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

знак участника Шамиль Н.
Шамиль Н.Участник
  • сообщений 1 135
  • на форуме 6 мес
zapros_min писал: Работа с cookie при сборе: хранить или сбрас…

Сколько адресов и какой темп при этом стоит?

Уточните пару моментов, иначе гадаем.

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

Добавлю то, что обычно вылезает на второй месяц работы.

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

Тема нужная, подписался.

знак участника proxyled
proxyledЗнаток
  • сообщений 1 620
  • на форуме 6 мес
zapros_min писал: Работа с cookie при сборе: хранить или сбрас…

Проверьте, что настройка вообще применилась.

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

Тут легко перепутать два разных момента.

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

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

знак участника polnyy_obhod
polnyy_obhodУчастник
  • сообщений 1 450
  • на форуме 5 мес

Уточните пару моментов, иначе гадаем.

знак участника vydacha_live
vydacha_liveЗнаток
  • сообщений 1 975
  • на форуме 4 мес
zapros_min писал: Работа с 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)
знак участника Ольга Мятлева
Ольга МятлеваУчастник
  • сообщений 700
  • на форуме 10 мес

Полгода назад ловил то же самое.

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

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

знак участника limit_watch
limit_watchЗнаток
  • сообщений 2 560
  • на форуме 2 мес

А что показывают логи в момент падения?

знак участника setka_ip
setka_ipЗнаток
  • сообщений 2 755
  • на форуме 2 мес

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

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

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)
знак участника Стрельцов
СтрельцовУчастник
  • сообщений 1 080
  • на форуме 7 мес

Добавлю то, что обычно вылезает на второй месяц работы.

Разбор ответа держите отдельно от сбора. Тогда смена разметки не требует перегонять данные заново, достаточно перечитать сохранённое.

Логируйте код ответа, время и адрес. Три поля, и почти любой разбор потом занимает минуты.

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)
знак участника kolonka_cen
kolonka_cenЗнаток
  • сообщений 1 690
  • на форуме 4 мес

У меня картина совпадает почти полностью.

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

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

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

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