Как я парсил сайт
Получение данных с сайта, сохранение постов, вывод html-документа в табличный документ с обработкой.
- Описание
- Подробнее
Описание
Я никогда по работе не сталкивался с задачами получения данных c сайта или из html-документа. А тут появилась "личная" задача, решил попробовать.
У меня есть сын, после рождения которого мы с супругой по мере возможности писали в блог, расположенный на сайте diary.ru, всё, что с ним и нами происходило. Временной период — 10 лет. И нам захотелось сделать из этого книгу в малотиражной типографии. Сначала супруга вручную начала переносить записи в Ворд, но, во-первых, яжпрограммист — можно же автоматизировать, а во-вторых, хотелось попробовать несколько макетов, а с Вордом это проблематично.
Почитав Инфостарт и другие интернеты, я понял, что общий принцип одинаковый, но из-за того, что каждый сайт по своему уникален, написать более-менее автоматический алгоритм не получится. В конфигурации, которая приложена к публикации, я хотел сделать универсальный механизм с настройкой получаемых данных, но убедившись, что даже на самом сайте можно сделать разные настройки для своего дневника, бросил эту затею и сделал по конкретную разметку. Хотя, универсальность всё же присутствует.

В самом парсере вводится самая первая страница, с которой нужно начать процесс, общее количество страниц дневника (если будет введено больше, чем нужно — не беда), ну и количество постов на странице, т.к. оно может быть разным.
Уже после того, как всё было готово, все записи были в конфигурации, я попробовал спарсить несколько случайных дневников. Если структура не сильно отличается от структуры нашего дневника, парсер работает и для других дневников diary.ru.
При парсинге сохраняется разметка, форматирование (жирный, курсив, offtop), сохраняются картинки.
Для хранения форматированного текста я воспользовался данной статьёй //sale.itcity.ru/public/273123/
Для загрузки картинок идеей из статьи //sale.itcity.ru/public/257266/
Сам парсер построен на объекте ПостроительDOM. Текст процедуры в спойлере.

