javascript 怎么获取指定url网页中的内容

javascript 怎么获取指定url网页中的内容,第1张

一、参考代码如下:

<!doctype html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Document</title>

</head>

<body>

<script src="jquery-211minjs"></script> 

<!--记得导jquery-->

<script>

    $ajax({

        type:'get',

        url:"demohtml",//这里是url

        success:function(body,heads,status){

            consolelog(body);  //body就是内容了,也就是url网页中的内容

        }

    });

</script>

</body>

</html>

重点代码说明:

$ajax({

type:"POST",//请求方式为post

url:"orderclassphptype=add",//请求的地址

data:dataFormid,//参数

success: function(mag){

//success指的是请求并成功返回信息

//msg是返回的内容

alert(mag);

}

});

举例

//假如后台返回的是一个JSON格式的字符串,如"{code:0,msg:\"执行成功!\"}"

success: function(data){

var json=evel("("+data+")");

alter(jsonmsg);//会d出执行成功的消息框

}

想获取远程url的东西需要先判断

function get_url_contents($url)

{

//先判断allow_url_fopen是否打开,如果打开则用file_get_contents获取,如果没打开用curl_init获取

if (ini_get("allow_url_fopen") == "1")

return file_get_contents($url);

$ch = curl_init();

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_URL, $url);

$result = curl_exec($ch);

curl_close($ch);

return $result;

}

设置保存路径

define('IMAGE_DIR', 'c:\\xampp\\htdocs\\scraper\\image\\');

保存函数。

$imageUrl = 你要的的url

$imageType = 你要的保存的格式

saveImage($imageUrl, $imageType = 'IMAGETYPE_GIF') {

if (!file_exists(IMAGE_DIR)) {

mkdir(IMAGE_DIR, 0777, true);

}

if( $imageType === IMAGETYPE_JPEG ) {

$fileExt = 'jpg';

} elseif ( $imageType === IMAGETYPE_GIF ) {

$fileExt = 'gif';

} elseif ( $imageType === IMAGETYPE_PNG ) {

$fileExt = 'png';

}

$newImageName = md5($imageUrl) '' $fileExt;

$image = new Image();

$image->load($imageUrl);

$image->resizeToWidth(100);

$image->save( IMAGE_DIR $newImageName, $imageType );

return $newImageName;

}

这是我的类,保存前可转换格式,大小。

<php

class Image {

private $_image;

private $_imageFormat;

public function load($imageFile) {

$imageInfo = getImageSize($imageFile);

$this->_imageFormat = $imageInfo[2];

if( $this->_imageFormat === IMAGETYPE_JPEG ) {

$this->_image = imagecreatefromjpeg($imageFile);

} elseif( $this->_imageFormat === IMAGETYPE_GIF ) {

$this->_image = imagecreatefromgif($imageFile);

} elseif( $this->_imageFormat === IMAGETYPE_PNG ) {

$this->_image = imagecreatefrompng($imageFile);

}

}

public function save($imageFile, $_imageFormat=IMAGETYPE_JPEG, $compression=75, $permissions=null) {

if( $_imageFormat == IMAGETYPE_JPEG ) {

imagejpeg($this->_image,$imageFile,$compression);

} elseif ( $_imageFormat == IMAGETYPE_GIF ) {

imagegif($this->_image,$imageFile);

} elseif ( $_imageFormat == IMAGETYPE_PNG ) {

imagepng($this->_image,$imageFile);

}

if( $permissions != null) {

chmod($imageFile,$permissions);

}

}

public function getWidth() {

return imagesx($this->_image);

}

public function getHeight() {

return imagesy($this->_image);

}

public function resizeToHeight($height) {

$ratio = $height / $this->getHeight();

$width = $this->getWidth() $ratio;

$this->resize($width,$height);

}

public function resizeToWidth($width) {

$ratio = $width / $this->getWidth();

$height = $this->getheight() $ratio;

$this->resize($width,$height);

}

public function scale($scale) {

$width = $this->getWidth() $scale/100;

$height = $this->getheight() $scale/100;

$this->resize($width,$height);

}

private function resize($width, $height) {

$newImage = imagecreatetruecolor($width, $height);

imagecopyresampled($newImage, $this->_image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());

$this->_image = $newImage;

}

}

>

curl_exec

(PHP 4 >= 402, PHP 5) curl_exec — 执行一个cURL会话

可以参考官方网站范例:>

你要用CURL,就跟Session一样,要先初始化 curl_init(),不然PHP部会知道该怎麼运作。初始化完成之後就要开始设定参数,就像是要不要显示出来。当你参数设定完毕,就要开始执行这个CURL。最後就要关闭这个CURL。这就算是一个简单的CURL运用,当然还有更多变化。

实际例子:

<php

// 创建一个cURL资源

$ch = curl_init();

// 设置URL和相应的选项

curl_setopt($ch, CURLOPT_URL, "

);

curl_setopt($ch, CURLOPT_HEADER, 0);

// 抓取URL并把它传递给浏览器

curl_exec($ch);

// 关闭cURL资源,并且释放系统资源

curl_close($ch);

>

如使用mysql一样,首先,我们必须先建立一个「curl」的连线,也因此,必须使用到 curl_init() 这个函式。而为了怕建立连线忘了关闭。因此,必须先写好关闭的函式,curl_close($ch)。

不过大部分HTML标签都可以抓下来,并且显示,可是有部分可能与资料加密性或是转址的部分,就无法正常显示。

/ 建立CURL连线

$ch = curl_init();

// 设定撷取的URL网址

curl_setopt($ch, CURLOPT_URL, "

);

curl_setopt($ch, CURLOPT_HEADER, false);

//将curl_exec()获取的讯息以文件流的形式返回,而不是直接输出。

curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

// 执行

$temp=curl_exec($ch);

// 关闭CURL连线

curl_close($ch)

加上curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);之後,他会将curl_exec()获取的讯息以文件流的形式返回传给$temp,而不是直接输出。如果要显示出画面的话就加上 echo $temp;就可以了。

下面先分享一个比较常用的,传递参数的部分。

简易的使用语法(GET):

// 建立CURL连线

$ch = curl_init();

// 设定撷取的URL网址

curl_setopt($ch, CURLOPT_URL, "

);

curl_setopt($ch, CURLOPT_HEADER, false);

//将curl_exec()获取的讯息以文件流的形式返回,而不是直接输出。

curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

// 执行

$temp=curl_exec($ch);

// 关闭CURL连线

curl_close($ch)

Get参数可以直接在网址传递例如网址後面加的SomeVar=test,但是一旦资料量很大,用POST送还是比较适合。

简易的使用语法(POST):

// 建立CURL连线

$ch = curl_init();

// 设定撷取的URL网址

curl_setopt($ch, CURLOPT_URL, "

);

curl_setopt($ch, CURLOPT_HEADER, false);

//将curl_exec()获取的讯息以文件流的形式返回,而不是直接输出。

curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

//设定要传的 变数A=值A & 变数B=值B (中间要用&符号串接)

$PostData = "a=abc&b=def";

//设定CURLOPT_POST 为 1或true,表示要用POST方式传递

curl_setopt($ch, CURLOPT_POST, 1); 

//CURLOPT_POSTFIELDS 後面则是要传接的POST资料。

curl_setopt($ch, CURLOPT_POSTFIELDS, $PostData);

// 执行

$temp=curl_exec($ch);

// 关闭CURL连线

curl_close($ch)

以上的传递方式在某些状况下很好用,譬如说,没有设计完整的会员申请系统,就可以利用上面这些程式码,做一个自动注册申请机

程序没问题,能得到网页内容并输出。

有可能是你的 xxxphp 没有重定向成功。

如果在Linux下,可以先用

wget >

本文承接上面两篇,本篇中的示例要调用到前两篇中的函数,做一个简单的URL采集。一般php采集网络数据会用file_get_contents、file和cURL。不过据说cURL会比file_get_contents、file更快更专业,更适合采集。今天就试试用cURL来获取网页上的所有链接。示例如下:

<php

/

使用curl 采集hao123com下的所有链接。

/

include_once('functionphp');

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, '>

楼主可以用curl把这个文件的内容拿出来,然后用file_put_contents()函数把他写入一个文件里,格式为你想要保存的格式,写个例子给你吧:

首先用curl拿到这个的代码:

$url = 测试URL地址

         $curl = curl_init($url);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);

$content = curl_exec($curl);

curl_close($curl);

file_put_contents('保存的路径+ajpg',$content);

大概就这样子了,我就不测试了,楼主测试一下可行不,file_put_contents()函数不明白就查查手册,如果有报错什么的就带上报错信息回复我吧。

以上就是关于javascript 怎么获取指定url网页中的内容全部的内容,包括:javascript 怎么获取指定url网页中的内容、php file_get_contents(url)在本地测试可以获取到远程url的内容,但上传至服务器后返回的确实空的值、curl获取远程图片时,如何设置本地保存路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9774866.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存