Очень часто мы сталкиваемся с вопросом: “Почему парсер собрал только 500 результатов, хотя сайт показывает количество 100500?”.
Давайте разберемся почему парсер собирает мало данных и что с этим можно сделать. Для начала небольшой экскурс в историю, как именно работает парсер. Во Входные данные задаются стартовые страницы, с которых собираются ссылки на страницы с данными. Они поступают в очередь на обработку и в конечном итоге со страниц с данными будут собраны результаты парсинга: наименования, цены, контакты, описания и т.д. После того как страницы с данными закончатся, парсер выгружает результаты и завершает работу.
Очевидно, если данных меньше, чем мы планировали получить, то страниц с данными было обработано меньше, чем нужно. Почему так могло произойти?
Блокировка со стороны сайта.
Наиболее частая причина, по которой мы получаем мало данных. Алгоритмы сайта определяют интенсивный сбор данных и блокируют загрузку новых страниц.
Как решить?
Используйте прокси, уменьшите количество потоков в кампании, установите интервалы между загрузками страниц. Как это сделать описано в справке.
Ограничение выдачи.
Иногда сталкиваемся с ситуацией, когда сайт ограничивает число результатов, доступное для просмотра одному пользователю. При этом число найденных результатов показывает произвольное. Например, количество кафе в городе может быть 400+, но увидеть пользователь сможет только 100.
Как решить?
Разбивать результаты выдачи уточняющими фильтрами и собирать блоками данных, которые по объему меньше максимально доступного результата. В нашем примере нужно разбить фильтрами результаты так, чтобы получать до 100 результатов. Если блокировка сложная и завязана на аккаунт, использовать несколько аккаунтов с набором проксей.
Ошибки настройки.
Иногда бывают ситуации, когда в настройке устанавлены условия или фильтры для обработки только нужных страниц. Ошибки в настройке фильтров могут привести к потери страниц с данными. Также, если в настройке есть поле, которое отмечено как обязательное, то страница с данными без этого поля будет пропущена в процессе обработки.
Как решить?
Внимательно изучите логи. Это поможет найти пропущенные страницы с данными.
Другие причины.
Некоторые сайты склонны завышать число доступных данных, хотя реальное их количество будет значительно меньше от заявленного. Если информация на сайте разбита по разделам, некоторые товары или компании могут быть одновременно в нескольких разделах. Программа отсекает дубли по ссылкам в процессе обработки и фактическое число результатов в этом случае будет меньшим.