有些内容没有随CURL请求而来
Some content does not come with CURL request
我正试图开发一个蜘蛛从其他网站获取数据,只是为了学术意义。很好,我正在尝试抓取这个网站: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();
相关文章:
- 如何将给定的curl命令复制为jquery ajax请求
- 如何通过类比curl请求从JavaScript发出请求
- 将curl转换为节点请求
- HTTP请求使用cURL,但在浏览器中使用javascript时会得到CORS响应
- PHP中的Curl请求-使用API
- 带有节点.js的 curl 请求
- 将curl转换为ajax请求
- node.js请求js与curl相比失败
- 使用 ajax 发出 curl 请求
- 使用 cURL 请求 svg.sencha.io 时请求错误
- 节点.js服务器在浏览器中超时,但 cURL 请求有效
- 通过 javascript 或 jquery 中的 curl 请求将值发布到 golang
- 如何将这个curl请求转换为jquery请求
- PHP-Curl(存储在会话中的处理程序)+使用此处理程序的ajax请求
- 将CURL请求转换为云代码中的Parse.com HttpWebRequest
- 将curl选项传递给node-js-http请求
- 用javascript执行curl请求
- 相当于这个curl请求的Node.js
- 在Curl请求(PHP)中禁用Javascript
- 在angular中使用$http应用curl POST请求