Краулинг (англ. Crawling) представляет из себя самый обыкновенный тип парсера, при котором ссылку на следующую страницу мы получаем с той, на которой находимся в данный момент. Таким образом. Краулинг представляет из себя поискового робота, выполняющий, к примеру задачу зайти на сайт, получить все ссылки, перейтипо ним, получить остальные ссылки и т. д. Краулинг обычно используется для создания больших баз данных.
Примеры:
- · Краулинг категорий на сайте ebay (кстати у них есть API)
- · Краулинг контактных данных из телефонных справочников
Обходы возможных проблем
При разработке программного обеспечения были разработаны сценарии поведения программы, и с их помощью, были разработаны методы предотвращения возникновения и решения различных проблем.
Ошибка 403 / ограничения по частоте запросов.
При параллельной отправке запросов на различные сайты, может возникнуть проблема превышения допустимых лимитов (границ), с последующей блокировкой доступа к сайту. При разработке данного программного обеспечения стоило учесть, что при превышении количества запросов к сайту, сайт может принять программу за поискового «робота» и заблокировать ему доступ к сервису.
Решение простое, следует просто ограничивать количество одинаковых запросов на один сайт, при условии что это не запрос перелистывания страницы, а изначальный запрос. В случае, если пользователь всё же был заблокирован сайтом (что мало вероятно), следует просто переждать несколько минут. Обусловлено это тем, что программа показывает сайту что она — не запрос, а простой интернет-браузер.
Пагинация.
Бывают случаи, когда приходиться парсить html-данные, разбитые по разным страницам. Способ решения такой проблемы довольно прост: если посмотреть на URL-адреса, то там, как правило, присутствуют параметры pageили offset, которые отвечают за номер страницы. В ходе разработки программного обеспечения, почти на каждом выбранном сервисе была именно эта проблема.
5. Техническая часть