웹 크롤러는 인터넷에서 데이터를 크롤링하는 데 사용되는 자동화 도구입니다. PHP는 인기있는 서버 측 스크립팅 언어로서 풍부한 라이브러리와 기능을 가지고 있으며 HTML 또는 XML 형식으로 데이터를 효율적으로 구문 분석하고 처리 할 수 있습니다. 이 기사는 특정 예제를 사용하여 웹 페이지에서 PHP 및 구문 분석을 사용하여 웹 크롤러를 만드는 방법을 보여줍니다.
크롤러의 첫 번째 단계는 방문 페이지의 내용을 가져와야합니다. PHP에서는`컬링 기능을 사용하여 쉽게 달성 할 수 있습니다. 다음은 웹 콘텐츠를 얻기위한 샘플 코드입니다.
$url = "http://example.com"; // 대상 URL을 설정하십시오
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); // 크롤링 URL을 설정하십시오
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 얻은 내용은 문자열로 반환됩니다
$output = curl_exec($ch); // 구현하다curl세션 및 반환 된 컨텐츠를 저장하십시오
curl_close($ch);
echo $output; // 크롤링 된 웹 페이지 컨텐츠를 출력하십시오
이 코드에서는 'curlopt_returntransfer`를'true '로 설정하여 얻은 웹 페이지 컨텐츠를 문자열로 저장합니다. 다음으로`url_exec` 기능을 사용하여 컬 세션을 실행하고 결과를 출력하십시오.
웹 페이지의 내용을 얻은 후 다음 단계는 HTML을 구문 분석하여 필요한 데이터를 추출 할 수 있도록하는 것입니다. PHP에는 HTML을 구문 분석하는 데 도움이되는 많은 라이브러리가 있으며 가장 일반적으로 사용되는 라이브러리 중 하나는 간단한 HTML DOM입니다. 다음은 간단한 html dom을 사용하여 HTML을 구문 분석하는 예입니다.
include('simple_html_dom.php'); // 소개Simple HTML DOM도서관
$html = str_get_html($output); // 웹 페이지 컨텐츠를로드하십시오Simple HTML DOM대상에서
<p>// 모든 링크 및 출력을 찾으십시오<br>
foreach($html->find('a') as $element) {<br>
echo $element->href . "<br>";<br>
}</p>
<p>$html->clear(); // 물체가 차지하는 메모리를 정리하십시오<br>
이 코드는 먼저`포함 '를 통해 간단한 HTML DOM 라이브러리를 소개하고 얻은 웹 페이지 컨텐츠를 간단한 HTML DOM 객체에로드합니다. 다음으로`find` 방법과 CSS 선택기를 사용하여 모든 링크를 찾아서 마지막 링크의`href '속성을`foreach` 루프를 통해 출력합니다.
HTML 외에도 PHP는 XML 컨텐츠를 쉽게 구문 분석 할 수 있습니다. PHP는 XML 데이터를 구문 분석하기 위해 간단하고 사용하기 쉬운 라이브러리 인 SimpleXML을 제공합니다. 다음은 SimpleXML을 사용하여 XML을 구문 분석하기위한 샘플 코드입니다.
$xml = simplexml_load_string($output); // 할 것이다XML문자열로드SimpleXML대상에서
<p>// 트래버스XML특정 필드의 내용을 출력합니다<br>
foreach($xml->book as $book) {<br>
echo "Title: " . $book->title . "<br>";<br>
echo "Author: " . $book->author . "<br>";<br>
echo "Year: " . $book->year . "<br><br>";<br>
}<br>
이 코드에서는`simplexml_load_string` 함수를 통해 검색된 XML 문자열을 SimpleXML 객체에로드합니다. 그런 다음`foreach` 루프 및 객체 속성을 통해 XML 컨텐츠를 반복하여 제목, 저자 및 출판 연도를 출력합니다.
PHP의 'Curl'기능 및 Simple HTML DOM 및 SimpleXML과 같은 다양한 구문 분석 라이브러리를 사용하면 웹 페이지 또는 XML 데이터에서 필요한 정보를 쉽게 추출 할 수 있습니다. 이는 다양한 데이터 애플리케이션의 개발에 대한 강력한 지원을 제공합니다. 이 튜토리얼을 통해 기본 PHP 크롤러 개발 기술을 마스터 한 다음보다 복잡한 데이터 크롤링 작업으로 확장 할 수 있습니다.