Разделы · Парсеры и сбор данных
Задача рабочая, сроки сжатые, и хочется решить один раз.
Сразу к делу, чтобы не растекаться.
Логи ведутся, в них видно, что запросы уходят, а ответы приходят короткие. Пробовал разбивать список на части по пятьдесят тысяч, стало ровнее.
Буду признателен за конкретику.
Долго держал старую схему, пока не упёрся.
Скорость упирается не в программу, а в темп, который держит площадка. Ставить 300 потоков на 20 адресов бессмысленно, отказы съедят весь выигрыш.
Перед большим прогоном всегда гоняю пробу на тысяче адресов. Три минуты времени, и сразу видно, где посыплется.
$ ./sbor --potokov 120 --spisok chast-01.txt --proksi pool.txt обработано: 48 210 / 50 000 пустых ответов: 1 842
Тут легко перепутать два разных момента.
Если данные отдаются скриптом, обычный сбор их не увидит. Смотрите, откуда страница берёт содержимое: часто рядом есть простой запрос, который отдаёт то же самое в удобном виде.
Большие каталоги не надо гонять одним куском. Разбейте на части по пятьдесят тысяч, каждую с отдельным состоянием, и падение одной части перестанет ронять весь прогон.
Долго держал старую схему, пока не упёрся.
Перед большим прогоном всегда гоняю пробу на тысяче адресов. Три минуты времени, и сразу видно, где посыплется.
Разметка на маркетплейсах меняется регулярно. Держите разбор в одном месте, чтобы правка занимала минуту, а не полдня.
Расчёт выше верный, но он рассыплется, если адреса режут по трафику или отдают одну подсеть. Я сижу на приватный пул IPv4 и беру по шестьдесят штук на такие задачи: трафик не считают, подсети разные, потоков хватает.
Логи в помощь, без них это гадание.
Тут легко перепутать два разных момента.
Перед большим прогоном всегда гоняю пробу на тысяче адресов. Три минуты времени, и сразу видно, где посыплется.