2017-03-29 63 views
0

我想从这个网页刮图片http://www.ikea.com/us/en/catalog/products/S59163189/如何使用PHP Simple HTML DOM获取img src?

的标记显示的图像是这样的:

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

我试着用HTML代码,在一个单一的页面,它的工作原理。

使用此API http://simplehtmldom.sourceforge.net/在PHP中的HTML DOM解析器每个图像的
foreach($html->find('img[id^=imgID]') as $img_link){ 
     $img_array[] = 'http://www.ikea.com'.$img_link->src; 
     $images = implode(';', $img_array); 
} 

我怎样才能src

编辑:我认为我发现问题的原因,图像加载ajax并需要时间加载。

有没有解决方案来刮他们?

请任何帮助!

+0

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

+5

可能复制[get image src with simple-html-dom](http://stackoverflow.com/questions/24601588/get-image-src-with-simple-html-dom) –

+0

使用'jQuery'你想要所有图像' src'? –

回答

0

尝试用jqueryArray#map功能

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

问题标题和现在编辑删除的标签说PHP – cypherabe

0

检查这个代码。我认为这将有助于你

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

,这是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>