繁体   English   中英

如何使用PHP Simple HTML DOM获取img src?

[英]How can I use PHP Simple HTML DOM to get img src?

我想从此页面上抓取图像http://www.ikea.com/us/en/catalog/products/S59163189/

用于显示图像的标记如下所示:

 <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代码,它可以正常工作。

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

如何使用此API http://simplehtmldom.sourceforge.net/在PHP html dom解析器中获取每个图像的src

编辑:我认为我找到了问题的原因,图像正在用ajax加载,并且需要时间加载。

有没有办法刮擦它们?

请帮忙!

尝试使用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> 

检查此代码。 我认为它将帮助您

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM