2017-03-29 3 views
0

Je voudrais gratter les images de cette page http://www.ikea.com/us/en/catalog/products/S59163189/Comment puis-je utiliser PHP Simple HTML DOM pour obtenir img src?

Le balisage pour afficher les images sont comme ceci:

<div id="moreImgThumbContainer"> 
    <div class="imageThumb" id="imageThumb_0"> 
     <a href="javascript:void(0);" id="imageThumbLink_0" class="active"> 
      <img src="/PIAimages/0386819_PE559167_S3.JPG" onclick="irwStatThumbImgClickedFromPIP();" onmouseover="addOpacityEffect(this.id);" onmouseout="rmvOpacityEffect(this.id);" id="imgID_0" style="opacity: 10;"> 
     </a> 
    </div> 



<div class="imageThumb" id="imageThumb_1"> 
     <a href="javascript:void(0);" id="imageThumbLink_1"> 
      <img src="/PIAimages/0449646_PE599007_S3.JPG" onclick="irwStatThumbImgClickedFromPIP();" onmouseover="addOpacityEffect(this.id);" onmouseout="rmvOpacityEffect(this.id);" id="imgID_1" style="opacity: 0.8;"> 
     </a> 
    </div> 
</div> 

J'ai essayé avec le code html, dans une seule page, cela fonctionne.

foreach($html->find('img[id^=imgID]') as $img_link){ 
     $img_array[] = 'http://www.ikea.com'.$img_link->src; 
     $images = implode(';', $img_array); 
} 

Comment puis-je obtenir src de chaque image dans parseur dom PHP HTML en utilisant ce api http://simplehtmldom.sourceforge.net/? Edit: Je pense que j'ai trouvé la cause du problème, les images sont en cours de chargement avec ajax et prend du temps à charger.

Existe-t-il une solution pour les gratter?

Toute aide s'il vous plaît!

+0

http://stackoverflow.com/questions/24601588/get-image-src-with-simple-html-dom –

+5

possible dupliquer de [get image src avec simple-html-dom] (http://stackoverflow.com/questions/24601588/get-image-src-with-simple-html-dom) –

+0

en utilisant 'jQuery' vous voulez toutes les images' src'? –

Répondre

0

Essayez avec jquery et Array#map fonction

var d = $('.imageThumb').map(function(){ 
 
c = $(this).children('a').children('img').attr('src'); 
 
return c; 
 
}).get() 
 

 
console.log(d.join(';'))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="moreImgThumbContainer"> 
 
    <div class="imageThumb" id="imageThumb_0"> 
 
     <a href="javascript:void(0);" id="imageThumbLink_0" class="active"> 
 
      <img src="/PIAimages/0386819_PE559167_S3.JPG" onclick="irwStatThumbImgClickedFromPIP();" onmouseover="addOpacityEffect(this.id);" onmouseout="rmvOpacityEffect(this.id);" id="imgID_0" style="opacity: 10;"> 
 
     </a> 
 
    </div> 
 

 
    <div class="imageThumb" id="imageThumb_1"> 
 
     <a href="javascript:void(0);" id="imageThumbLink_1"> 
 
      <img src="/PIAimages/0449646_PE599007_S3.JPG" onclick="irwStatThumbImgClickedFromPIP();" onmouseover="addOpacityEffect(this.id);" onmouseout="rmvOpacityEffect(this.id);" id="imgID_1" style="opacity: 0.8;"> 
 
     </a> 
 
    </div> 
 
</div>

+0

le titre de la question et un tag maintenant édité-supprimé dit PHP – cypherabe

0

vérifierons ce code. Je pense que cela vous aidera

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

<div id="moreImgThumbContainer"> 
<div class="imageThumb" id="imageThumb_0"> 
    <a href="javascript:void(0);" id="imageThumbLink_0" class="active"> 
     <img src="/PIAimages/0386819_PE559167_S3.JPG" onclick="irwStatThumbImgClickedFromPIP(this.id);" onmouseover="addOpacityEffect(this.id);" onmouseout="rmvOpacityEffect(this.id);" id="imgID_0" style="opacity: 10;"> 
    </a> 
</div> 

<div class="imageThumb" id="imageThumb_1"> 
    <a href="javascript:void(0);" id="imageThumbLink_1"> 
     <img src="/PIAimages/0449646_PE599007_S3.JPG" onclick="irwStatThumbImgClickedFromPIP(this.id);" onmouseover="addOpacityEffect(this.id);" onmouseout="rmvOpacityEffect(this.id);" id="imgID_1" style="opacity: 0.8;"> 
    </a> 
</div> 
</div> 

et c'est jquery

<script> 

// get all image 

(function(){ 
var images = []; 
$(".imageThumb img").each(function(){ 
    images.push($(this).attr('src')) 
}) 
// console.log(images); 
    console.log(images.join(';')) 
    })() 

function addOpacityEffect(id){ 
    var scr = $('#'+id).attr('src'); 
    alert(scr) 
} 

function rmvOpacityEffect(id){ 
    var scr = $('#'+id).attr('src'); 
    alert(scr) 
} 

function irwStatThumbImgClickedFromPIP(id){ 
    var scr = $('#'+id).attr('src'); 
    alert(scr) 
} 


</script>