当前位置:首页>开发>正文

php如何读取指定页面 php获取指定网页内容

2023-07-05 07:59:21 互联网 未知 开发

 php如何读取指定页面 php获取指定网页内容

php如何读取指定页面

这个需要用到ajax,不能把php代码直接放到中,可以用jquery的test.php$.ajax({ url: "test.php", cache: false, success: function(html){ $("#box").html(html) }})

php获取指定网页内容

一、用file_get_contents函数,以post方式获取url
$url= http://www.domain.com/test.php?id=123
$data= array(foo=> bar)
$data= http_build_query($data) 
$opts= array(
http=> array(
method=> POST,
header=>"Content-type: application/x-www-form-urlencoded "  .
"Content-Length: "  . strlen($data) . " ",
content=> $data
)
)
$ctx= stream_context_create($opts)
$html= @file_get_contents($url,,$ctx)
二、用file_get_contents以get方式获取内容
$url=http://www.domain.com/?para=123
$html= file_get_contents($url)
echo$html
?>
三、用fopen打开url, 以get方式获取内容
$fp= fopen($url,r)
$header= stream_get_meta_data($fp)//获取报头信息
while(!feof($fp)) {
$result.= fgets($fp, 1024)
}
echo"url header: {$header}
":
echo"url body: $result"
fclose($fp)
?>

四、用fopen打开url, 以post方式获取内容
$data= array(foo2=> bar2,foo3=>bar3)
$data= http_build_query($data)
$opts= array(
http=> array(
method=> POST,
header=>"Content-type: application/x-www-form-
urlencoded Cookie:cook1=c3cook2=c4 "  .
"Content-Length: "  . strlen($data) . " ",
content=> $data
)

$context= stream_context_create($opts)
$html= fopen(http://www.test.com/zzzz.php?id=i3&id2=i4,rb,false, $context)
$w=fread($html,1024)
echo$w
?>
五、使用curl库,使用curl库之前,可能需要查看一下php.ini是否已经打开了curl扩展
$ch= curl_init()
$timeout= 5
curl_setopt ($ch, CURLOPT_URL, http://www.domain.com/)
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1)
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout)
$file_contents= curl_exec($ch)
curl_close($ch)
echo$file_contents
?>

用php读取网页部分内容

可以用
preg_match(/

(. ?)

/is,$str,$tmp)来获取:

$str = file_get_contents(test.html)//假设你要读取的页面是test.html
preg_match(/

(. ?)

/is,$str,$tmp)
print_r($tmp[0])
?>

PHP抓取网页指定内容

<?php
/*
* 如下: 方法有点笨
* 抓取网页内容用 PHP 的正则
* 用JS每隔5分钟刷新当前页面---即重新获取网页内容
*
* 注: $mode中--<title></title>-更改为所需内容(如 $mode = "#<a(.*)</a>#">获取所有链接)
*
* window.location.href="http://localhost/baidu/refesh.php"中的http://localhost/baidu/refesh.php
* 更改为自己的URL----作用:即刷新当前页面
*
* setInterval("ref()",300000)是每隔300000毫秒(即 5 * 60 *1000 毫秒即5分钟)执行一次函数 ref()
*
* print_r($arr)输出获得的所有内容 $arr是一个数组 可根据所需输出一部分(如 echo $arr[1][0])
* 若要获得所有内容 可去掉
* $mode = "#<title>(.*)</title>#"
if(preg_match_all($mode,$content,$arr)){
print_r($arr)
echo "<br/>"
echo $arr[1][0]
}
再加上 echo $content;
*/
$url = "http://www.baidu.com" //目标站
$fp = @fopen($url, "r") or die("超时")
$content=file_get_contents($url)
$mode = "#<title>(.*)</title>#"
if(preg_match_all($mode,$content,$arr)){
//print_r($arr)
echo "<br/>"
echo $arr[1][0]
}
?>
<script language="JavaScript" type="text/javascript">
<--
function ref(){
window.location.href="http://localhost/baidu/refesh.php"
}
setInterval("ref()",300000)
//-->
</script>

最新文章