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

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

Scrapy с ротацией адресов: как правильно раздавать по запросам

5 ответов · 2 514 просмотров
знак участника Лидия В.
Лидия В.Новичок
  • сообщений 190
  • на форуме 1 года
Код и программные интерфейсы

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

Опишу по порядку, что есть и чего не хватает.

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

Scrapy с ротацией адресов: как правильно раздавать по запросам: разбор в цифрах
Scrapy с ротацией адресов: как правильно раздавать по запросам: как это выглядит у меня

Кто как это обходит?

знак участника Марат Илюхин
Марат ИлюхинЗнаток
  • сообщений 2 295
  • на форуме 3 мес
полезный ответ
Лидия В. писал: Scrapy с ротацией адресов: как правильно раз…

Согласен с предыдущим ответом, но с одной оговоркой.

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

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

Отпишитесь, чем закончится, тема полезная.

знак участника Женя Кольцов
Женя КольцовУчастник
  • сообщений 1 270
  • на форуме 8 мес

Проверял это на своей задаче, вывод такой же.

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

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

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)
знак участника Наиля Ш.
Наиля Ш.Новичок
  • сообщений 505
  • на форуме 1 года

Это на всех площадках или на одной?

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

знак участника Юля Радько
Юля РадькоНовичок
  • сообщений 385
  • на форуме 1 года

Расскажу, чем закончилось у меня.

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

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

знак участника Панкратов
ПанкратовУчастник
  • сообщений 745
  • на форуме 10 мес

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

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

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

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