このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
findElement
HTML ツリー内の要素の検出
説明
例
関数 webread
を使用して、URL https://www.mathworks.com/help/textanalytics
から HTML コードを読み取ります。
url = "https://www.mathworks.com/help/textanalytics";
code = webread(url);
htmlTree
を使用して HTML コードを解析します。
tree = htmlTree(code);
findElement
を使用して、HTML ツリー内のすべてのハイパーリンクを見つけます。ハイパーリンクは、要素名が "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 サブツリー。htmlTree
配列として返されます。
詳細
一般的な HTML 要素には、次のコンポーネントが含まれます。
要素名 – HTML タグの名前。要素名は、HTML ツリーの
Name
プロパティに対応します。属性 – タグに関する追加情報。HTML 属性の形式は
で、name
="value
"
とname
はそれぞれ属性名と値を示します。属性は HTML の開始タグの内部に出現します。HTML ツリーから属性値を取得するには、value
getAttribute
を使用します。コンテンツ – 要素のコンテンツ。コンテンツは HTML の開始タグと終了タグの間に出現します。コンテンツは、テキスト データまたは入れ子の HTML 要素です。
htmlTree
オブジェクトからテキストを抽出するには、extractHTMLText
を使用します。htmlTree
オブジェクトの入れ子の HTML 要素を取得するには、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") |
テーブル (<table> ) 要素内にあるすべての段落 (<p> ) 要素を見つける。 | "table p" | findElement(tree,"table p") |
".pdf" で終わるハイパーリンク参照属性 (href ) 値をもつすべてのハイパーリンク (<a> ) 要素を見つける。 | "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") |
親が段落 (<p> ) 要素である強調 (<em> ) 要素をすべて見つける。 | "p > em" | findElement(tr,"p > em") |
見出し 1 (<h1> ) 要素の直後に出現するすべての段落 (<p> ) 要素を見つける | "h1 + p" | findElement(tr,"h1 + p") |
すべての空要素を見つける。 | ":empty" | findElement(tr,":empty") |
空でないラベル (<label> ) 要素をすべて見つける。 | "label:not(:empty)" | findElement(tr,"label:not(:empty)") |
関数 findElement
は、セレクター ":lang"
、":checked"
、":link"
、":active"
、":hover"
、":focus"
、":target"
、":enabled"
、および ":disabled"
を除き、CSS レベル 3 をすべてサポートしています。
CSS セレクターの詳細については、[1]を参照してください。
参照
[1] CSS Selector Reference. https://www.w3schools.com/cssref/css_selectors.php
バージョン履歴
R2018b で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)