PHP抓取网页指定内容

思路,用PHP抓取网页中<--!内容-->至<--!内容结束-->这之间的内容,保存到本地,访问文件后直接取用本地数据并输出到网页,然后隔5分钟重新抓取网页并更新本地数据... 思路,用PHP抓取网页中<--! 内容-->至<--! 内容结束-->这之间的内容,保存到本地,访问文件后直接取用本地数据并输出到网页,然后隔5分钟重新抓取网页并更新本地数据。

谁能给个代码我?谢了。
“本地”指服务器~~
展开
 我来答
iinnersky
2010-04-11 · TA获得超过173个赞
知道答主
回答量:128
采纳率:0%
帮助的人:135万
展开全部
<?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>
仪吟暨欣荣
2019-09-19 · TA获得超过3823个赞
知道大有可为答主
回答量:3168
采纳率:25%
帮助的人:233万
展开全部
RT:
用file_get_contents(内容地址);
之后用正则来匹配你要得到的内容!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
周听弘未
2019-03-14 · TA获得超过4063个赞
知道大有可为答主
回答量:3127
采纳率:29%
帮助的人:249万
展开全部
<?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>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
感人又盎然的小鸥ja03
2010-04-16 · TA获得超过604个赞
知道小有建树答主
回答量:605
采纳率:50%
帮助的人:646万
展开全部
这个直接用乐思采集系统就可以搞定
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式