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