2016-04-26 8 views
1

Ich bekomme immer Fehler Versuch, die Eigenschaft von Nicht-Objekt in der Zeile $title->$my_xpath->query beim Ausführen des Skripts zu erhalten. Ich habe den Knoten und Weg richtig, aber bis funktioniert nichtVersuch, die Eigenschaft non-object zu erhalten, wenn versucht wird, das Attribut des Elements zu reproduzieren

$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

wie kann ich chk tht? das rohe HTML ... whn ich Echo $ html ... das div_coupon mit dem a ist anwesend –

Antwort

0

Es auf dieser Seite einige Javascript Manipulation ist, die die Erzeugung von <a> tut. Aber im Wesentlichen (wenn Sie die ursprüngliche $html), gibt es keine.

Hier ist ein Ausschnitt von dem, was man von den ersten Zeilen des Codes ist immer:

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

Diese:

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

So gibt es wirklich keine <a> schließlich.

Aber die Daten sind Sie nach ist tatsächlich in diesem <span>:

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

So ist es gerade dorthin kommen:

$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

es funktioniert nicht für $ url = "http://www.ciim.in/top-pr-dofollow-social-bookmarking -sites-list-2016 "; $ nodes = $ my_xpath-> query ('// Tabelle [@ class = "social_list"]/tbody/tr'); $ title = $ my_xpath-> evaluate ('td [1]/a "]', $ node); ... das Ergebnis ist leer –