>백엔드 개발 >PHP 튜토리얼 >http://www.google.com.hk/ PHP를 사용하여 HTML을 구문 분석하기 위한 구현 코드

http://www.google.com.hk/ PHP를 사용하여 HTML을 구문 분석하기 위한 구현 코드

WBOY
WBOY원래의
2016-07-29 08:46:301540검색

최근에 PHP를 사용하여 HTML 구문 분석이 필요한 크롤러를 작성하려고 합니다. sourceforge에서 PHP Simple HTML DOM Parser라는 프로젝트를 찾았습니다. 이 프로젝트는 jQuery와 유사한 방식으로 CSS 선택기를 통해 지정된 DOM 요소를 반환할 수 있습니다. 강한.
먼저 프로그램 시작 부분에 simple_html_dom.php 파일을 소개합니다

코드를 복사합니다 코드는 다음과 같습니다.


include_once(' simple_html_dom.php');


PHP Simple HTML DOM Parser는 DOM 객체를 생성하는 3가지 방법을 제공합니다.

코드 복사 코드는 다음과 같습니다.


// 문자열에서 DOM 객체 생성
$html = str_get_html('Hello!< ;/html>' );
// URL에서 DOM 개체 만들기
$html = file_get_html('http://www.google.com/')// DOM 개체 만들기 HTML 파일에서
$html = file_get_html('test.htm')

DOM 객체를 가져온 후 다양한 작업을 수행할 수 있습니다

코드 복사 코드는 다음과 같습니다:

// 모든 앵커를 찾고, 요소 객체의 배열을 반환합니다.
$ret = $html->find(' a');/ / (N)번째 앵커 찾기, 요소 객체를 반환하거나 찾을 수 없으면 null을 반환합니다(0 기반)
$ret = $html->find('a', 0); >// 마지막 앵커를 찾고 요소 객체를 반환하거나 찾을 수 없으면 null을 반환합니다(0 기준)
$ret = $html->find('a', -1)// 모든 $ret = $html->find('div[id]')
// id=foo 속성이 있는 모든

->find('div[ id=foo]');


여기에서는 jQuery의 DOM 작업처럼 다양한 CSS 선택기를 사용할 수 있어 매우 편리합니다. 또한 텍스트와 댓글의 내용을 가져오는 두 가지 특수 속성이 있습니다.


코드 복사

코드는 다음과 같습니다.

// 모든 텍스트 블록 찾기 $es = $html->find('text') // 모든 주석(<--...-->) 블록 찾기

$es = $html->find('comment');



물론 jQuery와 마찬가지로 PHP Simple HTML DOM Parser도 체인 작업과 DOM 요소에 액세스하는 다양한 간단한 방법을 지원합니다


코드 복사

코드는 다음과 같습니다.

// 예시 echo $html->find("# div1", 0)->children(1)->children(1)->children(2)->id; // 또는

echo $html->getElementById("div1 ")- >childNodes(1)->childNodes(1)->childNodes(2)->getAttribute('id');



위 내용은 http://www.google.com.hk/의 내용을 포함하여 PHP를 사용하여 HTML을 구문 분석하는 http://www.google.com.hk/의 구현 코드를 소개합니다. 튜토리얼.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.