从.asp网页获取HTML元素的Xpath
我需要刮这个HTML页面 。。。。使用PHP和XPath获得类似于中的2的值 科迪斯·比安科:2 注意:如果您尝试浏览该页面,您可能会在该页面中看到不同的值。。。没关系,他们只是在一起改变 我无法像往常一样使用Mozilla Firebug获取这些值的XPath:有什么建议吗 提前谢谢你 更新 这应该起作用: 来自第一个元素的值:从.asp网页获取HTML元素的Xpath,xpath,web-scraping,firebug,Xpath,Web Scraping,Firebug,我需要刮这个HTML页面 。。。。使用PHP和XPath获得类似于中的2的值 科迪斯·比安科:2 注意:如果您尝试浏览该页面,您可能会在该页面中看到不同的值。。。没关系,他们只是在一起改变 我无法像往常一样使用Mozilla Firebug获取这些值的XPath:有什么建议吗 提前谢谢你 更新 这应该起作用: 来自第一个元素的值: substring-after(//div[@class="datiOspedaleCodici"]/div[1]/text(), ":") 从第二位开始: sub
substring-after(//div[@class="datiOspedaleCodici"]/div[1]/text(), ":")
从第二位开始:
substring-after(//div[@class="datiOspedaleCodici"]/div[2]/text(), ":")
…等等
只要增加/div[x]中的索引就可以得到下一个值我已经解决了。。。这是正确的代码
<?php
ini_set('display_errors', 1);
$url = 'http://www.asl1.liguria.it/templateProntoSoccorso.asp';
$ch = curl_init();
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_PROXY, '');
$data = curl_exec($ch);
curl_close($ch);
$dom = new DOMDocument();
@$dom->loadHTML($data);
$xpath = new DOMXPath($dom);
$Number = $xpath->query('(//div[@class="datiOspedaleCodici"]/div[1]/text())[1]');
foreach( $Number as $node )
{
echo "Number: " .$node->nodeValue;
echo '<br>';
echo '<br>';
}
?>
那个印刷品
Codice bianco:2我用一段PHP代码更新了我的初始问题,在这段代码中我尝试使用xPath complete,但它不起作用……请注意,这是为了支持Firefox内置的开发工具。
<?php
ini_set('display_errors', 1);
$url = 'http://www.asl1.liguria.it/templateProntoSoccorso.asp';
$ch = curl_init();
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_PROXY, '');
$data = curl_exec($ch);
curl_close($ch);
$dom = new DOMDocument();
@$dom->loadHTML($data);
$xpath = new DOMXPath($dom);
$Number = $xpath->query('(//div[@class="datiOspedaleCodici"]/div[1]/text())[1]');
foreach( $Number as $node )
{
echo "Number: " .$node->nodeValue;
echo '<br>';
echo '<br>';
}
?>