Найдите элементы в дереве HTML
subtrees = findElement(tree,selector)
Считайте код HTML из https://www.mathworks.com/help/textanalytics
URL с помощью функции webread
.
url = "https://www.mathworks.com/help/textanalytics";
code = webread(url);
Проанализируйте код HTML с помощью htmlTree
.
tree = htmlTree(code);
Найдите все гиперссылки в дереве HTML использованием findElement
. Гиперссылки являются узлами с именем элемента "A"
.
selector = "A";
subtrees = findElement(tree,selector);
Просмотрите первые несколько поддеревьев.
subtrees(1:10)
ans = 10×1 htmlTree: (1,1) <A class="svg_link navbar-brand" href="https://www.mathworks.com?s_ti… (2,1) <A class="mwa-nav_login" href="https://www.mathworks.com/login?uri=ht… (3,1) <A href="https://www.mathworks.com/products.html?s_tid=gn_ps">Product… (4,1) <A href="https://www.mathworks.com/solutions.html?s_tid=gn_sol">Solut… (5,1) <A href="https://www.mathworks.com/academia.html?s_tid=gn_acad">Acade… (6,1) <A href="https://www.mathworks.com/support.html?s_tid=gn_supp">Suppor… (7,1) <A href="https://www.mathworks.com/matlabcentral/?s_tid=gn_mlc">Commu… (8,1) <A href="https://www.mathworks.com/company/events.html?s_tid=gn_ev">E… (9,1) <A href="https://www.mathworks.com/company/aboutus/contact_us.html?s_… (10,1) <A href="https://www.mathworks.com/store?s_cid=store_top_nav&s_ti…
Извлеките текст от поддеревьев с помощью extractHTMLText
. Результат содержит текст ссылки от каждой ссылки на странице.
str = extractHTMLText(subtrees); str(1:10)
ans = 10×1 string array
""
"Sign In"
"Products"
"Solutions"
"Academia"
"Support"
"Community"
"Events"
"Contact Us"
"How to Buy"
tree
— Дерево HTMLhtmlTree
Дерево HTML, заданное как скалярный объект htmlTree
.
selector
— Селектор CSSСелектор CSS, заданный как скаляр строки или вектор символов. Для получения дополнительной информации см. CSS Селекторы.
subtrees
— Соответствие с поддеревьями HTMLhtmlTree
Соответствие с поддеревьями HTML, возвращенными как массив htmlTree
.
Типичный элемент HTML содержит следующие компоненты:
Имя элемента – Имя HTML-тэга. Имя элемента соответствует свойству Name
дерева HTML.
Атрибуты – Дополнительная информация о теге. HTML-атрибуты имеют форму
, где name="value"
и name
обозначают название атрибута и значение соответственно. Атрибуты появляются во вводном HTML-тэге. Чтобы получить значения атрибута от дерева HTML, используйте value
getAttribute
.
Содержимое – содержимое Элемента. Содержимое появляется между открытием и закрытием HTML-тэгов. Содержимое может быть текстовыми данными или вложенными элементами HTML. Чтобы извлечь текст от объекта htmlTree
, используйте extractHTMLText
. Чтобы получить вложенные элементы HTML объекта htmlTree
, используйте свойство Children
.
Например, элемент HTML <a href="https://www.mathworks.com">Home</a>
включает следующие компоненты:
Компонент | Значение | Описание | |
---|---|---|---|
Имя элемента | a | Элемент является гиперссылкой | |
Атрибут | Название атрибута | href | Ссылка гиперссылки |
Значение атрибута | "https://www.mathworks.com" | Значение ссылки гиперссылки | |
Содержимое | Home | Текст, чтобы отобразиться |
Селекторы CSS задают шаблоны, чтобы совпадать с элементами в дереве.
Эта таблица показывает некоторые примеры, показывающие, как извлечь различные элементы HTML от дерева HTML:
Задача | CSS селектор | Пример |
---|---|---|
Найдите весь абзац (<p> ) элементы. | "p" | findElement(tree,"p") |
Найдите весь абзац (<p> ) и перечислите элемент (<li> ) элементы. | "p,li" | findElement(tree,"p,li") |
Найдите весь абзац (<p> ) элементы, которые являются внутренней таблицей (<table> ) элементы. | "table p" | findElement(tree,"table p") |
Найдите всю гиперссылку (<a> ) элементы с атрибутом ссылки гиперссылки (href ) значения, заканчивающиеся ".pdf" . | "a[href$="".pdf""]" | findElement(tree,"a[href$="".pdf""]") |
Найдите весь абзац (<p> ) элементы, которые являются первым дочерним элементом их родительского элемента. | "p:first-child" | findElement(tr,"p:first-child") |
Найдите весь абзац (<p> ) элементы, которые являются первым элементом абзаца их родительского элемента. | "p:first-of-type" | findElement(tr,"p:first-of-type") |
Найдите весь акцент (<em> ) элементы, где родительский элемент является абзацем (<p> ) элемент. | "p > em" | findElement(tr,"p > em") |
Найдите весь абзац (<p> ) элементы, появляющиеся сразу после заголовка 1 (<h1> ) элемент | "h1 + p" | findElement(tr,"h1 + p") |
Найдите все пустые элементы. | ":empty" | findElement(tr,":empty") |
Найдите, что все непустые маркируют (<label> ) элементы. | "label:not(:empty)" | findElement(tr,"label:not(:empty)") |
Функция findElement
поддерживает весь уровень 3 CSS, за исключением селекторов ":lang"
, ":checked"
, ":link"
, ":active"
, ":hover"
, ":focus"
, ":target"
, ":enabled"
и ":disabled"
.
Для получения дополнительной информации о селекторах CSS, см. [1].
[1] Ссылка селектора CSS. https://www.w3schools.com/cssref/css_selectors.asp
extractFileText
| extractHTMLText
| getAttribute
| htmlTree
| ismissing
| readPDFFormData
| tokenizedDocument
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.