Проанализированное дерево HTML
Объект htmlTree
представляет проанализированный элемент HTML или узел. Извлеките части интереса с помощью функции findElement
или свойства Children
, и извлеките текст с помощью функции extractHTMLText
.
tree = htmlTree(code)
code
— Код HTMLКод HTML, заданный как массив строк, вектор символов или массив ячеек из символьных векторов.
Чтобы считать код HTML из веб-страницы, используйте webread
.
Чтобы извлечь текст из файла HTML, используйте extractFileText
.
Пример: "<a href='https://www.mathworks.com'>MathWorks</a>"
Типы данных: char
| string
| cell
Children
— Прямые потомки элементаhtmlTree
Прямые потомки элемента, указанного как массив htmlTree
.
Parent
— Родительский узелhtmlTree
Родительский узел в дереве, заданном как объект htmlTree
.
Если дерево HTML является корневым узлом, то значением Parent
является missing
.
Имя
Имя элемента HTMLИмя элемента HTML, заданное как скаляр строки.
Для получения дополнительной информации смотрите Элементы HTML.
findElement | Найдите элементы в дереве HTML |
getAttribute | Считайте HTML-атрибут корневого узла дерева HTML |
extractHTMLText | Извлеките текст от HTML |
ismissing | Найдите деревья HTML без значений |
Считайте код HTML из https://www.mathworks.com/help/textanalytics
URL с помощью webread
.
url = "https://www.mathworks.com/help/textanalytics";
code = webread(url);
Проанализируйте код HTML с помощью htmlTree
.
tree = htmlTree(code);
Просмотрите имя элемента корневого узла дерева.
tree.Name
ans = "HTML"
Просмотрите дочерние элементы корневого узла.
tree.Children
ans = 4×1 htmlTree: (1,1) (2,1) <HEAD><TITLE>Text Analytics Toolbox Documentation</TITLE><META charse… (3,1) (4,1) <BODY id="responsive_offcanvas"><!-- Mobile TopNav: Start --><DIV cla…
Извлеките текст от дерева HTML использование extractHTMLText
.
str = extractHTMLText(tree)
str = "Text Analytics Toolbox™ provides algorithms and visualizations for preprocessing, analyzing, and modeling text data. Models created with the toolbox can be used in applications such as sentiment analysis, predictive maintenance, and topic modeling. Text Analytics Toolbox includes tools for processing raw text from sources such as equipment logs, news feeds, surveys, operator reports, and social media. You can extract text from popular file formats, preprocess raw text, extract individual words, convert text into numerical representations, and build statistical models. Using machine learning techniques such as LSA, LDA, and word embeddings, you can find clusters and create features from high-dimensional text datasets. Features created with Text Analytics Toolbox can be combined with features from other data sources to build machine learning models that take advantage of textual, numeric, and other types of data."
Считайте код 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"
Считайте код 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: <A class="svg_link navbar-brand" href="https://www.mathworks.com?s_tid=gn_logo"><IMG alt="MathWorks" class="mw_logo" src="/images/responsive/global/pic-header-mathworks-logo.svg"/></A> <A class="mwa-nav_login" href="https://www.mathworks.com/login?uri=http://www.mathworks.com/help/textanalytics/index.html">Sign In</A> <A href="https://www.mathworks.com/products.html?s_tid=gn_ps">Products</A> <A href="https://www.mathworks.com/solutions.html?s_tid=gn_sol">Solutions</A> <A href="https://www.mathworks.com/academia.html?s_tid=gn_acad">Academia</A> <A href="https://www.mathworks.com/support.html?s_tid=gn_supp">Support</A> <A href="https://www.mathworks.com/matlabcentral/?s_tid=gn_mlc">Community</A> <A href="https://www.mathworks.com/company/events.html?s_tid=gn_ev">Events</A> <A href="https://www.mathworks.com/company/aboutus/contact_us.html?s_tid=gn_cntus">Contact Us</A> <A href="https://www.mathworks.com/store?s_cid=store_top_nav&s_tid=gn_store">How to Buy</A>
Получите ссылки гиперссылки с помощью getAttribute
. Задайте название атрибута "href"
.
attr = "href";
str = getAttribute(subtrees,attr);
str(1:10)
ans = 10×1 string array
"https://www.mathworks.com?s_tid=gn_logo"
"https://www.mathworks.com/login?uri=http://www.mathworks.com/help/textanalytics/index.html"
"https://www.mathworks.com/products.html?s_tid=gn_ps"
"https://www.mathworks.com/solutions.html?s_tid=gn_sol"
"https://www.mathworks.com/academia.html?s_tid=gn_acad"
"https://www.mathworks.com/support.html?s_tid=gn_supp"
"https://www.mathworks.com/matlabcentral/?s_tid=gn_mlc"
"https://www.mathworks.com/company/events.html?s_tid=gn_ev"
"https://www.mathworks.com/company/aboutus/contact_us.html?s_tid=gn_cntus"
"https://www.mathworks.com/store?s_cid=store_top_nav&s_tid=gn_store"
Типичный элемент 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 | Текст, чтобы отобразиться |
extractHTMLText
| findElement
| getAttribute
| ismissing
| readPDFFormData
| tokenizedDocument
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.