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

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

Playwright и прокси: как менять адрес между контекстами

5 ответов · 3 165 просмотров
знак участника limit_watch
limit_watchЗнаток
  • сообщений 2 560
  • на форуме 2 мес
Код и программные интерфейсыгорячая

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

Сначала обстановка.

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

Может, кто-то уже проходил это.

знак участника Панкратов
ПанкратовУчастник
  • сообщений 745
  • на форуме 10 мес
полезный ответ
limit_watch писал: Playwright и прокси: как менять адрес между …

Пара оговорок, без них совет неполный.

Состояние прогона храните построчно. Один кусок в конце вас не спасёт. Тогда обрыв на девяностом проценте не стоит вам всего прогона.

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

знак участника Ханин П.
Ханин П.Знаток
  • сообщений 2 280
  • на форуме 2 мес

Был случай, когда всё сошлось только на третий день разбора.

Ошибки разделяйте по типам. Отказ по сети и отказ площадки требуют разного поведения.

знак участника Пётр Улесов
Пётр УлесовУчастник
  • сообщений 625
  • на форуме 11 мес

Что менялось за последнюю неделю?

Проверяли на маленькой выборке?

знак участника Богдан Ярош
Богдан ЯрошУчастник
  • сообщений 990
  • на форуме 7 мес

Пробовали на другой машине?

Что менялось за последнюю неделю?

знак участника Лунёва А.
Лунёва А.Новичок
  • сообщений 356
  • на форуме 1 года
limit_watch писал: Playwright и прокси: как менять адрес между …

Совпадает с моим опытом до цифры.

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

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)
Ответить в темеПодписаться

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

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