PHP头条
热点:

抓取最近八天天气(非利用接口,直接从网站提取)-PHP源码


php代码

f= new SaeFetchurl();
  
        }
        function getChineseNum($string){
           $tmpstr = '';
           $arr = array(1,2,3,4,5,6,7,8,9,0);
          $strlen = strlen($string);
          for($i=0; $i<$strlen; $i++) {      
  
           $str=substr($string, $i, 1);
  
           $str1=trim($str);
           if( ord($str)>0xA0 ){
  
            $tmpstr.= substr($string, $i, 3);
  
            $i = $i+2;
  
           }
  
            if(is_numeric($str1)){
  
                $tmpstr.= $str1;
  
            }
            if($str1=="-"&&is_numeric(substr($string, $i-1, 1))&&is_numeric(substr($string, $i+1, 1))){
                $tmpstr.= $str1;
            }
  
          }
  
                return $tmpstr;
  
        }
        function getChinese($string,$encode="GBK") {
               switch($encode){
                    case "GBK" :$codelength=2;break;
               case "GB2312" :$codelength=3;break;
               case "UTF-8" :$codelength=3;break;
                   case "UTF-16" :$codelength=4;break;
  
               }
               $tmpstr = '';
               $arr = array(1,2,3,4,5,6,7,8,9,0);
               $strlen = strlen($string);
               for($i=0; $i<$strlen; $i++) {
                    $str=substr($string, $i, 1);
                    $str1=trim($str);
                    if( ord($str)>0xA0 ){
                    $tmpstr.= substr($string, $i, $codelength);
                    $i = $i+$codelength-1;
                    }
  
                }
            return $tmpstr;
        }
       function get($cityid){
           $url="http://www.weather.com.cn/weather/".$cityid.".shtml";
           $data=$this->f->fetch($url);
  
           $sun=explode('

',$data); $sun=explode("

",$sun[1]); $sun=explode("
",$sun[1]); $sun=explode("",$sun[0]); $sunrise=strlen($sun[0]); $sunrise=substr($sun[0],$sunrise-5);//日出时间 $sunset=strlen($sun[1]); $sunset=substr($sun[1],$sunset-5);//日落时间 $sunhour=substr($sunset,0,2)-substr($sunrise,0,2); $sunminute=$sunhour*60+substr($sunset,-2)-substr($sunrise,-2);//日照时间 $yubao=explode('class="yuBaoTable"',$data); $num=count($yubao); $tl=array(); $th=array(); $fx=array(); $fl=array(); $weather=array(); //第一天 $tr=explode("",$yubao[1]); $td=explode("",$tr[0]); $weather[]=$this->getChinese($td[3],"UTF-8");//晚上天气 $fx[]=$this->getChinese($td[5],"UTF-8");//晚上风向 $fl[]=substr($this->getChineseNum($td[6],"UTF-8"),5);//晚上风力 $tltemp=explode("",$td[4]);//最低气温 $tl[]=$this->getNum($tltemp[1]); //从第二天到第七天 for($i=2;$i<$num-1;$i++){ $tr=explode("",$yubao[$i]); $td=explode("",$tr[0]); $weather[]=$this->getChinese($td[3],"UTF-8");//白天天气 $fx[]=$this->getChinese($td[5],"UTF-8");//白天风向 $fltemp=substr($this->getChineseNum($td[6],"UTF-8"),5); $fl[]=$fltemp;//白天风力 $thtemp=explode("",$td[4]); $th[]=$this->getNum($thtemp[1]);//最高气温 $td=explode("",$tr[1]); $tltemp=explode("",$td[3]); $tl[]=$this->getNum($tltemp[1]);//最低气温 } //第八天 $tr=explode("",$yubao[$num-1]); $td=explode("",$tr[0]); $weather[]=$this->getChinese($td[3],"UTF-8");//白天天气 $fx[]=$this->getChinese($td[5],"UTF-8");//白天风向 $fl[]=substr($this->getChineseNum($td[6],"UTF-8"),5);//白天风力 $thtemp=explode("",$td[4]); $th[]=$this->getNum($thtemp[1]);//最高气温 if(count($weather)==8){ return array("weather"=>$weather,"tl"=>$tl,"th"=>$th,"fx"=>$fx,"fl"=>$fl,"sunset"=>$sunset,"sunrise"=>$sunrise,"sunminute"=>$sunminute); }else{ return 1; } } function getday1($cityid){ $url="http://www.weather.com.cn/weather/".$cityid.".shtml"; $data=$this->f->fetch($url); $yubao=explode('class="yuBaoTable"',$data); $tr=explode("",$yubao[1]); $td=explode("",$tr[0]); $thtemp=explode("",$td[4]); return $this->getNum($thtemp[1]); } }

www.phpzy.comtrue/phpyy/5853.htmlTechArticle抓取最近八天天气(非利用接口,直接从网站提取)-PHP源码 php代码 f= new SaeFetchurl(); } function getChineseNum($string){ $tmpstr = ; $arr = array(1,2,3,4,5,6,7,8,9,0); $strlen = strlen($string); for($i=0; $i 0xA0 ){ $t...

相关文章

相关频道:

PHP之友评论

今天推荐