PHP抓取网页指定内容
思路,用PHP抓取网页中<--!内容-->至<--!内容结束-->这之间的内容,保存到本地,访问文件后直接取用本地数据并输出到网页,然后隔5分钟重新抓取网页并更新本地数据...
思路,用PHP抓取网页中<--! 内容-->至<--! 内容结束-->这之间的内容,保存到本地,访问文件后直接取用本地数据并输出到网页,然后隔5分钟重新抓取网页并更新本地数据。
谁能给个代码我?谢了。
“本地”指服务器~~ 展开
谁能给个代码我?谢了。
“本地”指服务器~~ 展开
4个回答
展开全部
<?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>
展开全部
RT:
用file_get_contents(内容地址);
之后用正则来匹配你要得到的内容!
用file_get_contents(内容地址);
之后用正则来匹配你要得到的内容!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<?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")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="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")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="http://localhost/baidu/refesh.php";
}
setInterval("ref()",300000);
//-->
</script>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个直接用乐思采集系统就可以搞定
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询