2016-04-26 94 views
1

我不斷收到錯誤嘗試獲取非對象的屬性在行 $title->$my_xpath->query運行腳本時。我有節點和路徑正確的,但直到工作不試圖獲取非對象的屬性當試圖回顯元素的屬性

$nodes = $my_xpath->query('//div[@class="info_coupon"]');  
    foreach($nodes as $node) 
    { 
     $title = $my_xpath->query('a', $node)->item(0)->nodeValue; 
     echo $title; 
     $code = $my_xpath->query('a/@data-code', $node); 
     if($code->length>0) { 
     $coupon = $code->item(0)->nodeValue ; 
     echo $coupon;   
     } 
    } 
+0

我該怎麼做?原始html ... whn我回聲$ html ... div_coupon與目前 –

回答

0

有該網頁,做的<a>產生一些JavaScript操作。但實質上(當你得到最初的$html),沒有。

這裏是你從你的代碼的初始行得到什麼的一個片段:

$url = "http://zoutons.com/stores/paytm-coupons/";  
$html = file_get_contents($url); <-- this one contains 

這一個:

<div class="info_coupon"> 
    <span rel="nofollow" data-lnu="aHR0cDovL3RyYWNraW5nLnZjb21taXNzaW9uLmNvbS9hZmZfYz9vZmZlcl9pZD0xMDIyJmFmZl9pZD0yMDYwJnVybD1odHRwcyUzQSUyRiUyRnBheXRtLmNvbSUyRiUzRnV0bV90ZXJtJTNEe2FmZmlsaWF0ZV9pZH0=" href="http://zoutons.com/stores/paytm-coupons/?#cid=31215" class="heading affiliate affiliate_map c_data_31215" data-affiliate="aHR0cDovL3RyYWNraW5nLnZjb21taXNzaW9uLmNvbS9hZmZfYz9vZmZlcl9pZD0xMDIyJmFmZl9pZD0yMDYwJnVybD1odHRwcyUzQSUyRiUyRnBheXRtLmNvbSUyRiUzRnV0bV90ZXJtJTNEe2FmZmlsaWF0ZV9pZH0=" data-id="31215" data-code="NEW50" data-link_type="text" store="Paytm">GET FREE Rs.50/- ON RECHARGE (VALID TILL &#8211; APRIL 27) 
    </span> 

所以我們實在畢竟沒有<a>

但是你後的數據實際上是內部的<span>

href="http://zoutons.com/stores/paytm-coupons/?#cid=31215" 
data-code="NEW50" 

所以纔得到它還有:

$nodes = $my_xpath->query('//div[@class="info_coupon"]');  
foreach($nodes as $node) 
{ 
    $title = $my_xpath->evaluate('string(./span/@href)', $node); 
    $code = $my_xpath->evaluate('string(./span/@data-code)', $node); 
    echo $title; 
    echo $code; 
} 
+0

它不工作$ url =「http://www.ciim.in/top-pr-d-oflowlow-social-bookmarking -sites列表-2016" ; $ nodes = $ my_xpath-> query('// table [@ class =「social_list」]/tbody/tr'); $ title = $ my_xpath-> evaluate('td [1]/a「]',$ node); ...結果爲空 –