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