我正在尝试开发一个蜘蛛来从其他网站获取数据,只是为了学术意义。很好,我正在尝试爬取这个网站: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 行的同一页面上检查该脚本