Return to Snippet

Revision: 19782
at October 30, 2009 13:53 by adamcoulombe


Initial Code
<?php
//a URL you want to retrieve
$my_url = 'http://www.digg.com';
$html = file_get_contents($my_url);
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);

//Put your XPath Query here
$my_xpath_query = "/html/body/div[@id='container']/div[@id='contents']/div[@class='list' and @id='wrapper']/div[@class='main' and position()=1]/div[contains(@class, 'news-summary')]/div[@class='news-body']/h3";
$result_rows = $xpath->query($my_xpath_query);

//here we loop through our results (a DOMDocument Object)
foreach ($result_rows as $result_object){
	echo $result_object->childNodes->item(0)->nodeValue;
}
?>

Initial URL


Initial Description
This example uses file_get_contents to retrieve remote HTML. From there, we can parse through it using PHP5's DOMDocument and DOMXpath. XPath Queries are easy to create using the Firefox extension "XPather"

Initial Title
Easy scraping and HTML parsing with PHP5 and XPath

Initial Tags
php, html, DOM

Initial Language
PHP