Проанализированное HTML-дерево
Один htmlTree объект представляет проанализированный элемент или узел HTML. Извлеките интересующие части с помощью findElement функции или Children и извлечь текст с помощью extractHTMLText функция.
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.
Name - имя элемента HTMLИмя элемента HTML, указанное как строковый скаляр.
Дополнительные сведения см. в разделе Элементы HTML.
findElement | Поиск элементов в дереве HTML |
getAttribute | Считывание атрибута HTML корневого узла дерева HTML |
extractHTMLText | Извлечение текста из HTML |
ismissing | Поиск HTML-деревьев без значений |
Считывание HTML-кода с URL-адреса https://www.mathworks.com/help/textanalytics использование 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:
" "
<HEAD><TITLE>Text Analytics Toolbox Documentation</TITLE><META charset="utf-8"/><META content="width=device-width, initial-scale=1.0" name="viewport"/><META content="IE=edge" http-equiv="X-UA-Compatible"/><LINK href="/includes_content/responsive/css/bootstrap/bootstrap.min.css" rel="stylesheet" type="text/css"/><LINK href="/includes_content/responsive/css/site6.css?201903" rel="stylesheet" type="text/css"/><LINK href="/includes_content/responsive/css/site6_lg.css?201903" media="screen and (min-width: 1200px)" rel="stylesheet"/><LINK href="/includes_content/responsive/css/site6_md.css?201903" media="screen and (min-width: 992px) and (max-width: 1199px)" rel="stylesheet"/><LINK href="/includes_content/responsive/css/site6_sm+xs.css?201903" media="screen and (max-width: 991px)" rel="stylesheet"/><LINK href="/includes_content/responsive/css/site6_sm.css?201903" media="screen and (min-width: 768px) and (max-width: 991px)" rel="stylesheet"/><LINK href="/includes_content/responsive/css/site6_…
" "
<BODY id="responsive_offcanvas"><!-- Mobile TopNav: Start --><DIV class="header visible-xs visible-sm" id="header_mobile" translate="no"><NAV class="navbar navbar-default" role="navigation"><DIV class="container-fluid"><DIV class="row"><DIV class="col-xs-12"><DIV class="navbar-header"><BUTTON class="navbar-toggle topnav_toggle" data-target="#topnav_collapse" data-toggle="collapse" type="button"><SPAN class="sr-only">Toggle Main Navigation</SPAN><SPAN class="icon-menu"/></BUTTON><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></DIV></DIV></DIV><DIV class="row visible-xs visible-sm"><DIV class="col-xs-12"><DIV class="navbar-collapse collapse" id="topnav_collapse"><UL class="nav navbar-nav" id="topnav"><LI class="headernav_login"><A class="mwa-nav_login" href="https://www.mathworks.com/login?uri=http://www.mathworks.com/help/textanalytics/index.html">Sign…
Извлечение текста из дерева 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-кода с URL-адреса https://www.mathworks.com/help/textanalytics с использованием 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="skip_link sr-only" href="#content_container">Skip to content</A>
<A href="https://www.mathworks.com?s_tid=gn_logo" class="svg_link navbar-brand"><IMG src="/images/responsive/global/pic-header-mathworks-logo.svg" class="mw_logo" alt="MathWorks"/></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/products/get-matlab.html?s_tid=gn_getml">Get MATLAB</A>
<A href="https://www.mathworks.com?s_tid=gn_logo" class="svg_link pull-left"><IMG src="/images/responsive/global/pic-header-mathworks-logo.svg" class="mw_logo" alt="MathWorks"/></A>
Извлечение текста из поддеревьев с помощью extractHTMLText. Результат содержит текст ссылки из каждой ссылки на странице.
str = extractHTMLText(subtrees); str(1:10)
ans = 10×1 string
"Skip to content"
""
"Products"
"Solutions"
"Academia"
"Support"
"Community"
"Events"
"Get MATLAB"
""
Считывание HTML-кода с URL-адреса https://www.mathworks.com/help/textanalytics использование 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-кода с URL-адреса https://www.mathworks.com/help/textanalytics с использованием webread функция.
url = "https://www.mathworks.com/help/textanalytics";
code = webread(url);Разбор кода HTML с помощью htmlTree функция.
tree = htmlTree(code);
Поиск всех абзацев в дереве HTML с помощью findElement функция. Абзацы представляют собой узлы с именем элемента «P».
subtrees = findElement(tree,"P");Преобразование поддеревьев в строку с помощью string функция.
str = string(subtrees)
str = 26×1 string
"<P class="h1">↵ <A href="../index.html" class="coming_from_product">Documentation</A>↵ <A href="../index.html" class="not_coming_from_product">Help Center</A>↵</P>"
"<P>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.</P>"
"<P>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.</P>"
"<P>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.</P>"
"<P class="category_desc">Learn the basics of Text Analytics Toolbox</P>"
"<P class="category_desc">Import text data into MATLAB<SUP>®</SUP> and preprocess it for analysis</P>"
"<P class="category_desc">Develop predictive models using topic models and word embeddings</P>"
"<P class="category_desc">Visualize text data and models using word clouds and text scatter plots</P>"
"<P class="category_desc">Information on language support in Text Analytics Toolbox</P>"
"<P>You clicked a link that corresponds to this MATLAB command:</P>"
"<P>Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.</P>"
"<P>Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: <STRONG class="recommended-country"/>.</P>"
"<P>You can also select a web site from the following list:</P>"
"<P>Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.</P>"
"<P class="text-center">↵ <A href="#" class="worldwide_link">Contact your local office</A>↵</P>"
"<P class="ff_section_title">Explore Products</P>"
"<P class="ff_section_title">Try or Buy</P>"
"<P class="ff_section_title">Learn to Use</P>"
"<P class="ff_section_title">Get Support</P>"
"<P class="ff_section_title">About <SPAN translate="no">MathWorks</SPAN></P>"
"<P class="h4 add_font_futura_medium add_margin_0">↵ <SPAN translate="no">MathWorks</SPAN>↵</P>"
"<P>↵ <EM>Accelerating the pace of engineering and science</EM>↵</P>"
"<P><SPAN translate="no">MathWorks</SPAN> is the leading developer of mathematical computing software for engineers and scientists.</P>"
"<P>↵ <A href="/discovery.html?s_tid=all_disc_mw_ff">Discover...</A>↵</P>"
"<P class="copyright" translate="no">© 1994-2021 The MathWorks, Inc.</P>"
"<P>↵ <EM>Join the conversation</EM>↵</P>"
Типичный элемент HTML содержит следующие компоненты:
Имя элемента - имя HTML-тега. Имя элемента соответствует Name свойства HTML-дерева.
Атрибуты (Attributes) - дополнительная информация о теге. Атрибуты 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 | Текст для отображения | |
htmlTree использует другой алгоритм для реструктуризации неверно сформированного HTMLВ R2021a изменилось поведение
При создании htmlTree объект, программное обеспечение автоматически реструктурирует неправильно сформированный входной HTML-код, чтобы иметь допустимую структуру. Этот процесс реструктуризации включает добавление, удаление и редактирование элементов, а также изменение структуры дерева. Начиная с R2021a, программное обеспечение использует обновленный алгоритм для реструктуризации неверно сформированного HTML. Это изменение может привести к htmlTree объекты, созданные в R2021a или более поздних версиях, имеющие другие размеры, структуру и содержимое по сравнению с предыдущими версиями.
Начиная с R2021a, при загрузке htmlTree объекты из файлов MAT, созданных в R2020b или ранее, программа автоматически реструктуризирует htmlTree объект, использующий тот же алгоритм, что и при создании htmlTree объекты. При загрузке htmlTree объекты из файлов MAT, созданных в R2021a или более поздних версиях, программа не реструктуризирует htmlTree объект.
В этой таблице освещаются некоторые важные этапы процесса реструктуризации:
| Шаг | Изменение поведения |
|---|---|
| Автоматическое добавление элементов заголовка и заголовка. | Начиная с R2021a, при создании При загрузке |
| Автоматически добавлять отсутствующие элементы. | Начиная с R2021a, при создании При загрузке |
| Удалить части неправильно сформированного кода. | При создании |
extractHTMLText | findElement | getAttribute | ismissing | readPDFFormData | tokenizedDocument
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.