2017-08-15 102 views
0

我需要刮這個HTML頁面...獲取的XPath名從.asp網頁的HTML元素

http://www.asl1.liguria.it/templateProntoSoccorso.asp

enter image description here

....使用PHP和XPath來獲取值一樣2

Codice比安科:

(注:你可以看到不同的價值如果你嘗試瀏覽它...沒關係......,他們改變dinamically ....)

我無法獲得XPath這些值使用Mozilla Firebug通常我做:有什麼建議?

預先感謝您!

UPDATE

<?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('/html/body/table/tbody/tr/td[2]/table[2]/tbody/tr/td[3]/table/tbody/tr[2]/td[1]/table/tbody/tr/td/div[1]/div[3]/div[2]'); 

    foreach($Number as $node) 
    { 
     echo "Number: " .$node->nodeValue; 
     echo '<br>'; 
     echo '<br>'; 
    }  
?> 
+0

請注意[Firebug的開發已停止](https://hacks.mozilla.org/2016/12/firebug-lives-on-in-firefox-devtools/),以支持Firefox內置的開發人員工具。 –

回答

0

我解決下一個值...這裏你是正確的代碼

<?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

1

這應該工作:

  1. 值從第一個元素:

    substring-after(//div[@class="datiOspedaleCodici"]/div[1]/text(), ":") 
    
  2. 從第二:

    substring-after(//div[@class="datiOspedaleCodici"]/div[2]/text(), ":") 
    

    ...等

只是增加/div[x]指數得到

+0

我已經用PHP代碼更新了我的最初問題,其中我試圖使用xPath(完整),但它不起作用.... – Cesare