某些内容未附带CURL请求

时间:2013-04-28 01:45:46

标签: php javascript curl remote-server

我正在尝试开发蜘蛛来获取其他网站的数据,仅用于学术意义。 很好,我正在尝试抓取这个网站:http://urlmin.com/ngz 如果那样会发生什么: 我可以获得我想要的所有数据,但是可以获得照片的目录。 为什么?因为它加载了javascript;直到这里它的罚款。 这是在加载dom后加载图像元素的js代码:

    var exibirImg = new ExibirImagens();
exibirImg.Imagens = [

    new ItemImagem(
        '../fotosanuncios/13886-Papucha 20074.JPG',
        '../fotosanuncios/13886-p-Papucha 20074.JPG'),

    new ItemImagem(
        '../fotosanuncios/13886-Motores Novos.JPG',
        '../fotosanuncios/13886-p-Motores Novos.JPG'),

    new ItemImagem(
        '../fotosanuncios/13886-Panther reformada5.JPG',
        '../fotosanuncios/13886-p-Panther reformada5.JPG'),

    new ItemImagem(
        '../fotosanuncios/13886-Panther reformada 2007.JPG',
        '../fotosanuncios/13886-p-Panther reformada 2007.JPG'),

];
exibirImg.PreLoad();
exibirImg.Titulo = 'Oferta A Gtr 323';
exibirImg.EscreveImagens();
exibirImg.TimeOutJs = 3500;
exibirImg.ImagemNotFound = 'imagens/ImagemNotFound.png';
exibirImg.IdImagemPrincipal = 'imagemPrincipalPF';
exibirImg.IdImagemMini = 'imagensPequenasPF';

如果我的CURL像上面那样得到了JS,那真的很容易,但它没有。 它是这样的:

var exibirImg = new ExibirImagens();
exibirImg.Imagens = [

];
exibirImg.PreLoad();
exibirImg.Titulo = 'Oferta A Gtr 323';
exibirImg.EscreveImagens();
exibirImg.TimeOutJs = 3500;
exibirImg.ImagemNotFound = 'imagens/ImagemNotFound.png';
exibirImg.IdImagemPrincipal = 'imagemPrincipalPF';
exibirImg.IdImagemMini = 'imagensPequenasPF';

exibirImg.Iniciar();

同样,数组必须加载AJAX或其他东西。 但真正的难题在于,如果我关闭浏览器的javascript支持,阵列仍会附带图像的目录。所以唯一的解释是它来自Server Side。问题是,如果它来自服务器端,为什么地狱我的卷曲不能得到它?

谢谢,希望有人能理解我。

您可以在第262行

的同一页上查看该脚本

1 个答案:

答案 0 :(得分:1)

适合我:

$url = 'http://urlmin.com/ngz';

$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true);

if ( $result =  curl_exec($ch) )
{
    echo $result;
}
else
echo "cURL error: ".curl_error($ch);   

curl_close( $ch );

$result包含:

var exibirImg = new ExibirImagens();
exibirImg.Imagens = [

    new ItemImagem(
        '../fotosanuncios/13886-Papucha 20074.JPG',
        '../fotosanuncios/13886-p-Papucha 20074.JPG'),

    new ItemImagem(
        '../fotosanuncios/13886-Motores Novos.JPG',
        '../fotosanuncios/13886-p-Motores Novos.JPG'),

    new ItemImagem(
        '../fotosanuncios/13886-Panther reformada5.JPG',
        '../fotosanuncios/13886-p-Panther reformada5.JPG'),

    new ItemImagem(
        '../fotosanuncios/13886-Panther reformada 2007.JPG',
        '../fotosanuncios/13886-p-Panther reformada 2007.JPG'),

];
exibirImg.PreLoad();