|   |   | 
| 
 | Разбор html кода | ☑ | ||
|---|---|---|---|---|
| 0
    
        TheAutumnWillBe Cold 20.06.24✎ 23:53 | 
        С помощью API получаю html страницу (скрин 1)
 Мне необходимо получить данные из выделенных блоков 1,2,3 (данные тегов h1, класса e-time и e-description) У кого есть идеи, как можно это сделать? 
 | |||
| 1
    
        Garykom гуру 21.06.24✎ 00:15 | 
        Классика же
 Нанять программиста За деньги | |||
| 2
    
        Franchiser 21.06.24✎ 00:30 | 
        Функция ПолучитьHTMLСтраницу(URL)
 // Создаем HTTP-запрос ЗапросHTTP = Новый HTTPЗапрос(URL); // Отправляем запрос и получаем ответ ОтветHTTP = HTTPСоединение.Получить(ЗапросHTTP); // Проверяем статус ответа Если ОтветHTTP.КодСостояния = 200 Тогда // Получаем содержимое страницы HTMLСтраница = ОтветHTTP.ПолучитьТелоКакТекст(); Возврат HTMLСтраница; Иначе Сообщить("Ошибка при получении страницы: " + ОтветHTTP.КодСостояния); Возврат ""; КонецЕсли; КонецФункции Функция ИзвлечьДанныеИзHTML(HTMLСтраница, Тег) // Загружаем HTML как XML XMLДокумент = Новый XMLДокумент; XMLДокумент.ЗагрузитьИзСтроки(HTMLСтраница); // Получаем все элементы по тегу Элементы = XMLДокумент.ДокументЭлемент.ПолучитьЭлементыПоИмени(Тег); // Создаем массив для хранения данных Данные = Новый Массив; // Проходим по всем элементам и извлекаем текст Для Каждого Элемент Из Элементы Цикл Данные.Добавить(Элемент.Текст); КонецЦикла; Возврат Данные; КонецФункции Процедура ПримерИспользования() URL = "https://example.com"; Тег = "title"; // Тег, данные из которого нужно извлечь HTMLСтраница = ПолучитьHTMLСтраницу(URL); Если ПустаяСтрока(HTMLСтраница) Тогда Сообщить("Не удалось получить HTML страницу"); Возврат; КонецЕсли; Данные = ИзвлечьДанныеИзHTML(HTMLСтраница, Тег); Сообщить("Извлеченные данные: " + СтрСоединить(Данные, ", ")); КонецПроцедуры | |||
| 3
    
        sikuda 21.06.24✎ 10:00 | 
        (2) Новый XMLДокумент; - это что-то новенькое ;)     | |||
| 4
    
        Franchiser 21.06.24✎ 14:10 | 
        (3) да, ИИ немного ошибся...     | |||
| 5
    
        программистище 21.06.24✎ 14:21 | 
        Ситакс-помощник
 ДокументHTML (HTMLDocument) Доступен, начиная с версии 8.2. | |||
| 6
    
        maxab72 21.06.24✎ 14:23 | 
        (4) Заглянул в будущее, в платформу 9.0     | |||
| 7
    
        sikuda 21.06.24✎ 14:33 | 
        (6) 1С Исполнитель версии 10 - Обходимое, Закрываемое, HTMLОбразное,  ХMLОбходимое, CSSВложеное ;)     | |||
| 8
    
        unbred 21.06.24✎ 15:29 | 
        (2) мне понравилось.
 зы: тоже просил чат нарисовать пару функций, он в обоих случаях рисовал методы, которых нет у объектов. | |||
| 9
    
        timurhv 21.06.24✎ 15:39 | 
        (8) Зато красиво, не портянка в одной процедуре, логика лучше стажеров)     | |||
| 10
    
        NorthWind 21.06.24✎ 15:39 | 
        (8) Объект.СделатьВсеКрасиво ();     | |||
| 11
    
        maxab72 21.06.24✎ 15:39 | 
        (8) Он художник - он так видит.
 Некогда Бьерн Страуструп предлагал язык "с 2000", в котором можно было переопределять все что угодно, и можно было вводить методы, не определенные в классе. Компилятор должен был обрабатывать их по аналогиям. То есть если есть другие классы, где этот метод определен, то ищется тот класс, который наиболее похож на требуемый, и берется его метод. | |||
| 12
    
        unbred 21.06.24✎ 15:42 | 
        (11) кайф. хочу.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |