findElement
HTML 트리에서 요소 찾기
설명
예제
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"
""
입력 인수
출력 인수
subtrees
— 일치하는 HTML 하위 트리
htmlTree
배열
일치하는 HTML 하위 트리로, htmlTree
배열로 반환됩니다.
세부 정보
HTML 요소
일반적인 HTML 요소에는 다음과 같은 성분이 들어 있습니다.
요소 이름 – HTML 태그의 이름. 요소 이름은 HTML 트리의
Name
속성에 해당합니다.특성 – 태그에 대한 추가 정보. HTML 특성은
형식입니다. 여기서name
="value
"
과name
는 각각 특성 이름과 특성 값을 나타냅니다. 특성은 여는 HTML 태그 안에 있습니다. HTML 트리에서 특성 값을 가져오려면value
getAttribute
를 사용하십시오.내용 – 요소 내용. 내용은 여는 HTML 태그와 닫는 HTML 태그 사이에 있습니다. 내용은 텍스트 데이터이거나 중첩된 HTML 요소일 수 있습니다.
htmlTree
객체에서 텍스트를 추출하려면extractHTMLText
를 사용하십시오.htmlTree
객체의 중첩된 HTML 요소를 가져오려면Children
속성을 사용하십시오.
예를 들어 HTML 요소 <a href="https://www.mathworks.com">Home</a>
은 다음 성분으로 이루어져 있습니다.
성분 | 값 | 설명 | |
---|---|---|---|
요소 이름 | a | 하이퍼링크에 해당하는 요소 | |
특성 | 특성 이름 | href | 하이퍼링크 참조 |
특성 값 | "https://www.mathworks.com" | 하이퍼링크 참조 값 | |
내용 | Home | 표시할 텍스트 |
CSS 선택자
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" 로 끝나는 하이퍼링크 참조 특성(<a> ) 값을 갖는 모든 하이퍼링크(href ) 요소를 찾습니다. | "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 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
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: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)