Как я парсил сайт

17.05.22

Интеграция - Сайты и интернет-магазины

Получение данных с сайта, сохранение постов, вывод html-документа в табличный документ с обработкой.

Скачать файлы

Наименование Файл Версия Размер
Как я парсил сайт:
.cf 94,61Kb
3
.cf 1.0 94,61Kb 3 Скачать

Я никогда по работе не сталкивался с задачами получения данных c сайта или из html-документа. А тут появилась "личная" задача, решил попробовать.

У меня есть сын, после рождения которого мы с супругой по мере возможности писали в блог, расположенный на сайте diary.ru, всё, что с ним и нами происходило. Временной период - 10 лет. И нам захотелось сделать из этого книгу в малотиражной типографии. Сначала супруга вручную начала переносить записи в Ворд, но, во-первых, яжпрограммист - можно же автоматизировать, а во-вторых, хотелось попробовать несколько макетов, а с Вордом это проблематично.

Почитав Инфостарт и другие интернеты, я понял, что общий принцип одинаковый, но из-за того, что каждый сайт по своему уникален, написать более-менее автоматический алгоритм не получится. В конфигурации, которая приложена к публикации, я хотел сделать универсальный механизм с настройкой получаемых данных, но убедившись, что даже на самом сайте можно сделать разные настройки для своего дневника, бросил эту затею и сделал по конкретную разметку. Хотя, универсальность всё же присутствует.

 

 

В самом парсере вводится самая первая страница, с которой нужно начать процесс, общее количество страниц дневника (если будет введено больше, чем нужно - не беда), ну и количество постов на странице, т.к. оно может быть разным.

Уже после того, как всё было готово, все записи были в конфигурации, я попробовал спарсить несколько случайных дневников. Если структура не сильно отличается от структуры нашего дневника, парсер работает и для других дневников diary.ru.

При парсинге сохраняется разметка, форматирование (жирный, курсив, offtop), сохраняются картинки.

Для хранения форматированного текста я воспользовался данной статьёй //infostart.ru/public/273123/

Для загрузки картинок идеей из статьи //infostart.ru/public/257266/

Сам парсер построен на объекте ПостроительDOM. Текст процедуры в спойлере. 

 

 

Полученный текст можно отредактировать

 

При выводе содержания постов в табличный документ (для последующего сохранения в pdf, чтобы отправить в типографию), пришлось подгонять текст, чтобы не было разрывов в постах и в картинках. Ну это просто ) Немного сложнее было с форматированием, но решилось заданием цвета и шрифта ячеек через свойства параграфа форматированного документа.

 

 

В итоге имеется конфигурация с парсером дневников сайта diary.ru с сохранением каждого поста в документ с картинками, с возможностью редактирования и выводом постов в табличный документ.

Использовалась платформа 8.3.20.1674.

конфигурация парсер сайт html форматированный документ

См. также

API-интеграция 1С с маркетплейсами ОЗОН, WildBerries, Я.Маркет, СберМегаМаркет, Стройландия, Леруа Мерлен, Hoff, AliExpress для УТ11, КА2, ERP2, УНФ, БП3, Розница, УТ10, УПП1.3

Сайты и интернет-магазины Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Беларусь Россия Казахстан Управленческий учет Платные (руб)

Расширение для интеграции с маркетплейсами ОЗОН, WildBerries, Я.Маркет, СберМегаМаркет, Стройландия, Леруа Мерлен, Hoff, AliExpress. При помощи расширения поддерживаются следующие методы: обмен остатками товаров, обмен ценами, обработка заказов, печать стикеров, загрузка отчетов комиссионеров по API (в том числе Я.Маркет).

05.09.2023    2173    20    itcorpru    37    

23

Выгрузка заказов из 1С в MEASOFT (ранее "Курьерская служба 2008") [РАСШИРЕНИЕ]

Сайты и интернет-магазины Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Платные (руб)

Данный модуль предоставляет возможность выгружать заказы из 1С: Управление торговлей 11 версии в "MEASOFT" (ранее "Курьерская служба 2008").

9600 руб.

27.04.2022    10398    9    3    

6

Обмен данными с сайтом. БП 3.0

Оптовая торговля Розничная торговля Сайты и интернет-магазины Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Обмен данными с сайтом на платформе 1С:Битрикс (и подобными) для 1С: Бухгалтерия предприятия 3.0.

12000 руб.

18.03.2019    29822    104    99    

57

Выгрузка для АВИТО

Сайты и интернет-магазины Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 Россия Платные (руб)

Выгрузка товаров услуг из 1С для сайта "Авито" раздел "Автозагрузка" выполнена в виде обработки. Обработка подходит для конфигураций УТ, УНФ и Розница. Данная обработка позволяет создавать шаблон с объявлениями для "Авито" - "Автозагрузка".

4200 руб.

07.06.2022    13786    39    56    

31

Sync1C: Синхронизация 1С и OpenCart

Оптовая торговля Розничная торговля Сайты и интернет-магазины Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Внешняя обработка для обмена данными с интернет-магазином OpenCart. Позволяет быстро наполнить магазин товарами, затем обновлять цены и добавлять новые товары. Далее можно средствами OpenCart настраивать и дополнять карточки товаров как надо для магазина, при этом связь товаров с 1С не теряется.

3840 руб.

30.03.2018    42674    81    137    

84
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Steelvan 299 17.05.22 11:58 Сейчас в теме
Разбор сайтов с применением Chrome devtools. Примеры от kuzkov.info
https://infostart.ru/public/1492489/

Ваш пример сломается на ОСП сайтах (одностраничные приложения), где содержимое отрисовывается в обозревателе динамически.
2. user720820720 27 17.05.22 12:33 Сейчас в теме
(1), спасибо за ссылку.
Конфигурация сделано под конкретный дневник конкретного сайта, ничего больше.
Оставьте свое сообщение