php代码
<?php /* *特别注意,第一天没有最高气温数据,第八天没有最低气温数据 *注意对数字进行过滤时不要忘记对负号进行判断 *对风力过滤时要考虑到3-5级这种格式 */ class weatherfetch{ private $f; function getNum($string) { $tmpstr = ''; $strlen = strlen($string); for($i=0; $i<$strlen; $i++) { $str=substr($string, $i, 1); $str1=trim($str); if(is_numeric($str1)){ $tmpstr.=$str1+0; } if($str1=="-"&&is_numeric(substr($string, $i-1, 1))){ $tmpstr.= $str1; } } return $tmpstr; } function __construct(){ $this->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('<div class="weatherTopright">',$data); $sun=explode("<dl>",$sun[1]); $sun=explode("</dl>",$sun[1]); $sun=explode("</strong>",$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("</tr>",$yubao[1]); $td=explode("</td>",$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("<strong>",$td[4]);//最低气温 $tl[]=$this->getNum($tltemp[1]); //从第二天到第七天 for($i=2;$i<$num-1;$i++){ $tr=explode("</tr>",$yubao[$i]); $td=explode("</td>",$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("<strong>",$td[4]); $th[]=$this->getNum($thtemp[1]);//最高气温 $td=explode("</td>",$tr[1]); $tltemp=explode("<strong>",$td[3]); $tl[]=$this->getNum($tltemp[1]);//最低气温 } //第八天 $tr=explode("</tr>",$yubao[$num-1]); $td=explode("</td>",$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("<strong>",$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("</tr>",$yubao[1]); $td=explode("</td>",$tr[0]); $thtemp=explode("<strong>",$td[4]); return $this->getNum($thtemp[1]); } }
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article
How to fix KB5055612 fails to install in Windows 10?
4 weeks agoByDDD
Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Roblox: Grow A Garden - Complete Mutation Guide
3 weeks agoByDDD
Nordhold: Fusion System, Explained
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Dreamweaver Mac version
Visual web development tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

Notepad++7.3.1
Easy-to-use and free code editor

WebStorm Mac version
Useful JavaScript development tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.
