加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php file_get_contents函数轻松采集html数据

发布时间:2020-12-13 05:42:21 所属栏目:PHP教程 来源:网络整理
导读:div class="codetitle" a style="CURSOR: pointer" data="44900" class="copybut" id="copybut44900" onclick="doCopy('code44900')" 代码如下: div class="codebody" id="code44900" ?php //全国,判断条件是$REQUEST_URI是否含有html if (!strpos($_SERVER

<div class="codetitle"><a style="CURSOR: pointer" data="44900" class="copybut" id="copybut44900" onclick="doCopy('code44900')"> 代码如下:<div class="codebody" id="code44900">
<?php
//全国,判断条件是$REQUEST_URI是否含有html
if (!strpos($_SERVER["REQUEST_URI"],".html"))
{
$page="http://qq.ip138.com/weather/";
$html = file_get_contents($page,'r');
$pattern="/全国主要城市、县当天和未来五天天气趋势预报在线查询</B>(.?)<center style="padding:3px">/si";
//正则匹配之间的html
preg_match($pattern,$html,$pg);
echo "";
//正则替换远程地址为本地地址
$p=preg_replace('//weather/(w+)/index.htm/','tq.php/$1.html',$pg[1]);
echo $p;
}
//省,判断条件是$REQUEST_URI是否含有?
else if(!strpos($_SERVER["REQUEST_URI"],"?")){
//yoyo推荐的使用分割获得数据,这里是获得省份名称
$province=explode("/",$_SERVER["REQUEST_URI"]);
$province=explode(".",$province[count($province)-1]);
$province=$province[0];
//被注释掉的是我自己写出来的正则,感觉写的不好,但效果等同上面
//preg_match('/[^/]+[.(html)]$/',$_SERVER["REQUEST_URI"],$pro);
//$province=preg_replace('/.html/','',$pro[0]);
$page="http://qq.ip138.com/weather/".$province."/index.htm";
//获取html数据之前先尝试打开页面,防止恶意输入地址导致出错
if (!@fopen($page,"r")) {
die("对不起,该地址不存在!点击这里返回");
exit(0);
}
$html = file_get_contents($page,'r');
$pattern="/五天天气趋势预报</B>(.
?)请输入输入市/si";
preg_match($pattern,$pg);
echo "";
//正则替换,获取省份,城市
$p=preg_replace('//weather/(w+)/(w+).htm/','$2.html?pro=$1',$pg[1]);
echo $p;
}
else {
//市,通过get传递省份
$pro=$_REQUEST['pro'];
$city=explode("/",$_SERVER["REQUEST_URI"]);
$city=explode(".",$city[count($city)-1]);
$city=$city[0];
//preg_match('/[^/]+[.(html)]+[?]/',$cit);
//$city=preg_replace('/.html?/',$cit[0]);
$page="http://qq.ip138.com/weather/".$pro."/".$city.".htm";
if (!@fopen($page,$pg);
echo "";
//获取真实的图片地址
$p=preg_replace('//image//','http://qq.ip138.com/image/',$pg[1]);
echo $p;
}
?>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读