2012-11-21 6 views
1

웹 스크래핑을 배우고이 예제를 사용하여 페이지에서 링크를 가져 오려고합니다. 그것을 할 수있는 더 좋은 방법이 있습니까? 예를 들어 h1을 얻는 가장 쉬운 방법은 무엇입니까?간단한 웹 스크래핑 PHP Xpath DOM

$html = file_get_contents('page.html'); 

//parse the html into a DOMDocument 
$dom = new DOMDocument(); 
@$dom->loadHTML($html); 

//grab all the links on the page 
$xpath = new DOMXPath($dom); 
$hrefs = $xpath->evaluate("/html/body//a"); 

for ($i = 0; $i < $hrefs->length; $i++) { 
    $href = $hrefs->item($i); 
    $url = $href->getAttribute('href'); 
    echo "<br />Link: $url"; 

} 

답변

1

/html/body로 expath 서문 할 필요가 없습니다, //a는 잘 작동합니다.

또한 for 루프 대신 foreach을 사용 하겠지만 대부분 스타일을 선택합니다.

+1

긁기위한 file_get_contents 대신 domdocument가있는 PHP의 컬 기능을 사용하면 쉽고 강력합니다. –