思路,用PHP抓取网页中<--! 内容-->至<--! 内容结束-->这之间的内容,保存到本地,访问文件后直接取用本地数据并输出到网页,然后隔5分钟重新抓取网页并更新本地数据。
谁能给个代码我?谢了。
“本地”指服务器~~
<?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>
/*
* 如下: 方法有点笨
* 抓取网页内容用 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>
温馨提示:答案为网友推荐,仅供参考
第1个回答 2019-09-19
RT:
用file_get_contents(内容地址);
之后用正则来匹配你要得到的内容!
用file_get_contents(内容地址);
之后用正则来匹配你要得到的内容!
第2个回答 2019-03-14
<?php
/*
*如下:方法有点笨
*抓取网页内容用PHP的正则
*用JS每隔5分钟刷新当前页面---即重新获取网页内容
*
*注:$mode中--<title></title>-更改为所需内容(如$mode="#<a(.*)</a>#";>获取所有链接)
*
*window.location.href="";中的
*更改为自己的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="";//目标站
$fp=@fopen($url,"r")ordie("超时");
$content=file_get_contents($url);
$mode="#<title>(.*)</title>#";
if(preg_match_all($mode,$content,$arr)){
//print_r($arr);
echo"<br/>";
echo$arr[1][0];
}
?>
<scriptlanguage="JavaScript"type="text/javascript">
<--
functionref(){
window.location.href="";
}
setInterval("ref()",300000);
//-->
</script>
/*
*如下:方法有点笨
*抓取网页内容用PHP的正则
*用JS每隔5分钟刷新当前页面---即重新获取网页内容
*
*注:$mode中--<title></title>-更改为所需内容(如$mode="#<a(.*)</a>#";>获取所有链接)
*
*window.location.href="";中的
*更改为自己的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="";//目标站
$fp=@fopen($url,"r")ordie("超时");
$content=file_get_contents($url);
$mode="#<title>(.*)</title>#";
if(preg_match_all($mode,$content,$arr)){
//print_r($arr);
echo"<br/>";
echo$arr[1][0];
}
?>
<scriptlanguage="JavaScript"type="text/javascript">
<--
functionref(){
window.location.href="";
}
setInterval("ref()",300000);
//-->
</script>
第3个回答 2010-04-16
这个直接用乐思采集系统就可以搞定