有些内容没有随CURL请求而来

Some content does not come with CURL request

本文关键字:请求 CURL      更新时间:2023-09-26

我正试图开发一个蜘蛛从其他网站获取数据,只是为了学术意义。很好,我正在尝试抓取这个网站: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支持,数组仍然伴随着图像的目录。所以唯一的解释是它来自服务器端。问题是,如果它来自服务器端,为什么我的curl没有收到它?

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

您可以在同一页面的第262行检查该脚本

适合我:

$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();