|
Разбор 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) кайф. хочу.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |