2017-10-16 10 views
-2

Why do inner text is not activeInnerText dans simple_html_dom

Here is HTML code

[Voici le code HTML]

<ul class="product"> 
<li class="product col-md-4 col-sm-4 col-xs-6 "><div class="product-header"> 
<a href="/so-mi-octopus-xanh-soc-trang-p5163098.html"> 
<img src="//cdn.nhanh.vn/cdn/store/17863/ps/20170925/0ctopus_thumb_450x600.jpg" class="attachment-shop_catalog size-shop_catalog wp-post-image"> 
</a><div class="buttons"> 
<a href="/so-mi-octopus-xanh-soc-trang-p5163098.html" rel="nofollow" class="button add_to_cart_button"> 
<i class="fa fa-shopping-bag" aria-hidden="true"></i> 
<span class="screen-reader-text">Thêm vào giỏ</span></a> 
<a data-product_id="5163098" class="button btnFav" rel="nofollow"> 
<i class="fa fa-heart-o" aria-hidden="true"></i> 
<span class="screen-reader-text">Yêu thích</span> 
</a></div></div><h3><a href="/so-mi-octopus-xanh-soc-trang-p5163098.html">Sơ mi Octopus xanh sọc trắng</a></h3><span class="price"> 
<span class="woocommerce-Price-amount amount"> 
400,000 ₫       </span> 
</span></li> 
</ul> 

[Voici mon code]

<?php 
require "simple_html_dom.php"; 
$html=file_get_html("http://zuhaus.vn/zu-design-pc150502.html?page=1"); 
$ds=$html->find("ul.products li"); 
foreach ($ds as $sp) { 
    # code... 
    $price=$sp->find("span.price span",0); 
    echo $price; 
    $name=$sp->find("h3 a",1)->innertext; 
    echo $name; 
} 
?> 

J'ai essayé beaucoup de cas de test mais ça ne marchera pas: "< T écheveaux vous P/s je bibliothèque simple_html_dom

+1

Veuillez mettre le code dans la question, pas sur les sites externes. Les utilisateurs de StackOverflow vous aideront, ** après vous être utile **. Faites le tour: http://stackoverflow.com/tour. Faites des recherches: https://meta.stackoverflow.com/q/261592/1011527. Apprenez à poser de bonnes questions: http://stackoverflow.com/help/how-to-ask. Et http://stackoverflow.com/help/mcve. – Nic3500

Répondre

0

Si vous souhaitez obtenir le contenu d'une étiquette et inclus dans h3 alors vous avez une erreur de syntaxe dans la ligne

$name = $sp->find("h3 a", 1)->innertext; 

Je suggère de vérifier la syntaxe de la

0 suivant
$name = $sp->find('h3', 1)->find('a', 1)->innertext; 
+0

Si ma réponse a aidé à résoudre le problème s'il vous plaît rembourser les points –

1

le problème est avec votre sélecteur, je l'ai changé le sélecteur pour le nom du produit, et cela fonctionne simplement, utiliser également une boucle pour améliorer la vitesse de ramper

<?php 
require "simple_html_dom.php"; 



$ch = curl_init("http://zuhaus.vn/zu-design-pc150502.html?page=1"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$curl_scraped_page = curl_exec($ch); 

$html = new simple_html_dom(); 
$html->load($curl_scraped_page); 

$ds=$html->find("ul.products li"); 
foreach ($ds as $sp) { 
    # code... 
    $price=$sp->find("span.price span",0); 
    echo $price; 
    $name=$sp->find("a",3)->innertext; // this is where the problem on your code 
    echo $name; 

echo "</br>"; 
} 
?> 
+0

$ name = $ sp-> find ("h3 a", 1) -> innertext; echo $ name; le même que mon code maintenant mais ça ne marchera pas. Merci à tous ^^ –

+0

pouvez-vous s'il vous plaît coller votre code essayé ici dans stackoverflow. –

+0

J'ai réédité mon code. C'est ma première fois que j'ai posté une question ici ^^: "< –