Насколько сложно написать краулер?

Статус
В этой теме нельзя размещать новые ответы.

Altair-Z

Создатель
Регистрация
10 Май 2010
Сообщения
30
Реакции
1
Хочется написать паука который будет идти на указанный сайт, погуляет по ссылкам, и сохранит страницы в текстовом виде в папке возле себя.
Вопрос: насколько это сложно?
может у кого есть такой скриптик?:)

пс. Где-то видел на нулледе скрипт поисковой системы, но это слишком круто
 
  • Заблокирован
  • #2
А какой вы ответ хотите? Типа сложно, не беритесь?


Типа телепорта в серверном виде нужно?
 
Типа телепорта в серверном виде нужно?
Ну например с помощью курла можно заставить скрипт пойти на сайт и заполнить форму (во многих реггерах реализовано)
а как заставить его гулять по ссылкам, и сохранять текст с сайта? Именно текст, а не всю страницу целеком.
 
  • Заблокирован
  • #5
Первым делом нужно отделить шаб от контента. Т.е. определяются одинаковые части хтмл кода на нескольких страницах сайта. То что меняется - контент, остальное - шаб.
Но тут много нюансов, к примеру если на одном сайте большинство страниц имеют разную структуру.
 
  • Заблокирован
  • #6
Ну например с помощью курла можно заставить скрипт пойти на сайт и заполнить форму (во многих реггерах реализовано)
а как заставить его гулять по ссылкам, и сохранять текст с сайта? Именно текст, а не всю страницу целеком.
Текст именно смыслового содержания - никак. А просто весь текст легко. Тупо получаете хтмл код с помощью курла и удаляете все теги с помощью, например, strip_tags().
Ну сохранять думаю не проблема, а вот насчёт гуляния по ссылкам - перед удалением тегов спарсите все ссылки и найдите внутринние - затем цикл по ним с теми же операциями.
 
Парсим все ссылки с главной страницы, переходим по ним, парсим ссылки с этих страниц, переходим по ним и так пока страницы не кончатся. А чтобы они кончились нужно те урлы по которым уже скрипт пробегал заносить в БД, массив, или тхт файл к примеру.

Для парсинга элементов страницы(ссылок текста) можно использовать либу .
С ней можно настроить парсинг любой сложности
 
  • Заблокирован
  • #8
Парсим все ссылки с главной страницы, переходим по ним, парсим ссылки с этих страниц, переходим по ним и так пока страницы не кончатся. А чтобы они кончились нужно те урлы по которым уже скрипт пробегал заносить в БД, массив, или тхт файл к примеру.
Для парсинга элементов страницы(ссылок текста) можно использовать либу *** скрытое содержание ***.
С ней можно настроить парсинг любой сложности
С этой либой были некоторые проблемы с парсингом невалидных страниц.
А вот регулярка для выдирания всех ссылок со страницы.
Код:
~<a.*?href="([^"]+)".*?>(.*?)</a>~s
 
За регулярку спасибо
вот нашел стройматериалы у буржуев (допиливать час-два), и функций полно и реализация не сложная
допилю - выложу, может пригодится кому)
 
С этой либой были некоторые проблемы с парсингом невалидных страниц.
А вот регулярка для выдирания всех ссылок со страницы.
Код:
~<a.*?href="([^"]+)".*?>(.*?)</a>~s
Есть пример страницы? За пол года использования пока-что косяков не находил
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху