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

Разделы · Парсеры и сбор данных

Как разделить один большой прогон на несколько машин

14 ответов · 1 190 просмотров
знак участника Жигарев
ЖигаревНовичок
  • сообщений 178
  • на форуме 1 года
Парсеры и сбор данных

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

Логи ведутся, в них видно, что запросы уходят, а ответы приходят короткие. Прогон рассчитан на восемь часов, встаёт примерно на середине.

$ ./sbor --potokov 120 --spisok chast-01.txt --proksi pool.txt
обработано: 48 210 / 50 000
пустых ответов: 1 842
Как разделить один большой прогон на несколько машин: разбор в цифрах
Как разделить один большой прогон на несколько машин: как это выглядит у меня

Кто сталкивался, поделитесь опытом.

знак участника Верещак
ВерещакУчастник
  • сообщений 690
  • на форуме 10 мес
полезный ответ
Жигарев писал: Как разделить один большой прогон на несколь…

Если считаете расход заранее, смотрите сразу на безлимит по трафику. У меня приватные серверные прокси, два терабайта в месяц уходят незаметно и в счёт не попадают.

знак участника batch_run
batch_runЗнаток
  • сообщений 1 790
  • на форуме 4 мес

Начинал с того же, потом переделал.

Большие каталоги не надо гонять одним куском. Разбейте на части по пятьдесят тысяч, каждую с отдельным состоянием, и падение одной части перестанет ронять весь прогон.

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

$ ./sbor --potokov 120 --spisok chast-01.txt --proksi pool.txt
обработано: 48 210 / 50 000
пустых ответов: 1 842
знак участника Инна Сотник
Инна СотникНовичок
  • сообщений 370
  • на форуме 1 года

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

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

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

$ ./sbor --potokov 120 --spisok chast-01.txt --proksi pool.txt
обработано: 48 210 / 50 000
пустых ответов: 1 842
знак участника rankdesk
rankdeskЗнаток
  • сообщений 2 044
  • на форуме 7 мес

До этого работало? Что менялось перед тем, как сломалось?

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

знак участника podset
podsetВетеран
  • сообщений 3 480
  • на форуме 1 мес

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

Скорость упирается не в программу, а в темп, который держит площадка. Ставить 300 потоков на 20 адресов бессмысленно, отказы съедят весь выигрыш.

$ ./sbor --potokov 120 --spisok chast-01.txt --proksi pool.txt
обработано: 48 210 / 50 000
пустых ответов: 1 842
знак участника Ефим Гладков
Ефим ГладковУчастник
  • сообщений 850
  • на форуме 9 мес
Жигарев писал: Как разделить один большой прогон на несколь…

Долго держал старую схему, пока не упёрся.

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

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

Долго держал старую схему, пока не упёрся.

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

$ ./sbor --potokov 120 --spisok chast-01.txt --proksi pool.txt
обработано: 48 210 / 50 000
пустых ответов: 1 842

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

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

Пришёл к этому не сразу, сначала сделал ошибку.

Скорость упирается не в программу, а в темп, который держит площадка. Ставить 300 потоков на 20 адресов бессмысленно, отказы съедят весь выигрыш.

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

Начинал с того же, потом переделал.

Большие каталоги не надо гонять одним куском. Разбейте на части по пятьдесят тысяч, каждую с отдельным состоянием, и падение одной части перестанет ронять весь прогон.

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

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

Уменьшите потоки вдвое и замерьте заново.

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

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

На другой машине воспроизводится?

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

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

Скорость упирается не в программу, а в темп, который держит площадка. Ставить 300 потоков на 20 адресов бессмысленно, отказы съедят весь выигрыш.

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

Уменьшите потоки вдвое и замерьте заново.

знак участника vydacha_live
vydacha_liveЗнаток
  • сообщений 1 975
  • на форуме 4 мес

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

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

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

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