Найдите элементы в дереве 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, используйте valuegetAttribute.
Содержимое – содержимое Элемента. Содержимое появляется между открытием и закрытием 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.