1

我试图建立像 Pinterest 这样的图像书签网站,但不知何故,有些网站没有抓取任何图像。有些作品很好。另外作为附加信息,我使用 jquery wookmark 作为网格模板。

这是我目前使用的代码......我不知道它是否正确或者只是我使用了错误的方法来检索图像。提前为任何评论或帮助的家伙干杯......非常感谢。

-- html
<ul id="tiles"></ul>
<div id="loader">
    <div id="loaderCircle" style="display:none"></div>
</div>

-- javascript
<script type="text/javascript">
    function loadData() {
        isLoading      = true;
        var link_pin   ='http://www.somewebsite.com';

        $('#loaderCircle').show();

        $.ajax({
            url: '<?php echo(base_url('index.php/home/pin_ajax'))?>',
            dataType: 'json',
            data: {link_pin:link_pin},
            success: onLoadData
        });
    };

    function onLoadData(data) { 
        isLoading = false;
        $('#loaderCircle').hide();

        var html = '';
        var i=0, length=data.length, returns_data;

        for(; i<length; i++) {
            var link_foto = data[i];    


            var newImg = new Image();
            newImg.src = link_foto;
            var height = newImg.height;
            var width  = newImg.width;

            var image_click="image_clicks('"+link_foto+"')";

            if (width >="200" && height >="200"){
                html += '<li onclick="'+image_click+'" id="image_'+i+'">';
                    html += '<a>';
                        html += '<div class="back_tristlist">';
                            html += '<span class="hover-icon icon-text">&#128269;</span>';
                            html += '<img src="'+link_foto+'">';
                        html += '</div>';
                    html += '</a>';
                html += '<div class="space_image"></div>';
                html += '</li>';
            }
        }

        $('#tiles').append(html);

        handler = $('#tiles li');
        handler.wookmark(options);
    };
</script>

-- php

public function pin_ajax(){
    extract($_GET);

    $page = file_get_contents($link_pin);
    error_reporting(0);
    $doc = new DOMDocument(); 
    @$doc->loadHTML($page);

    $images = $doc->getElementsByTagName('img'); 
    echo($images);
    $_datas[]="";

    foreach($images as $image){
        $raw_img_url = $image->getAttribute('src');
        $img_final_link = $raw_img_url;
        $img_url = explode('http://www.', $raw_img_url);
        $img_check = $img_url[1];

        if($img_check==''){
            $img_url = explode('http://', $raw_img_url);
            $img_check = $img_url[1];
            if($img_check!=''){ $img_check_error=1; }
            if($img_check==''){ $img_check_error=2; }
        }

        $_datas[] = ($img_check);
    }

    $output = json_encode($_datas);
    echo($output);
}
4

0 回答 0