抓取天氣

  1. <?php 
  2. set_time_limit(0); 
  3.  
  4. //jiequstr函數定義開始 
  5. function jiequstr($mubiaostr,$ksstr,$jsstr
  6. {if($mubiaostr==''){echo '目標字符串爲空<br/>';return false;} 
  7.  
  8. if($ksstr==''){$jiequks=0;return false;} 
  9. else
  10. $chucuo1=0; 
  11. $arr1=explode('(*)',$ksstr); 
  12. $len1=count($arr1); 
  13. $chaxunwz=0; 
  14. $feikongnum1=0; 
  15. for($i=0;$i<$len1;$i++){ 
  16. if($arr1[$i]=='')continue
  17. $feikongnum1++; 
  18. if(($wz=strpos($mubiaostr,$arr1[$i],$chaxunwz))!==false) 
  19. $chaxunwz=$wz+strlen($arr1[$i]); 
  20. else {$chucuo1=1;return false;break;} 
  21.  
  22. if($chucuo1==1)$jiequks=0; 
  23. else $jiequks=$chaxunwz
  24.  
  25.  
  26. if($jsstr==''){$jiequjs=strlen($mubiaostr);return false;} 
  27. else
  28. $chucuo2=0; 
  29. $arr2=explode('(*)',$jsstr); 
  30. $len2=count($arr2); 
  31. $chaxunwz=$jiequks
  32. $feikongnum2=0; 
  33. for($i=0;$i<$len2;$i++){ 
  34. if($arr2[$i]=='')continue
  35. $feikongnum2++; 
  36. if(($wz=strpos($mubiaostr,$arr2[$i],$chaxunwz))!==false) 
  37. {$chaxunwz=$wz+strlen($arr2[$i]); 
  38. if($feikongnum2==1)$enddian=$wz
  39.  
  40.  
  41. else {$chucuo2=1;return false;break;} 
  42.  
  43. if($chucuo2==1)$jiequjs=strlen($mubiaostr); 
  44. else $jiequjs=$enddian
  45.  
  46. $jiequstr=substr($mubiaostr,$jiequks,$jiequjs-$jiequks); 
  47.  
  48. //echo $jiequstr; 
  49. return $jiequstr
  50.  
  51. //結束jiequstr函數定義 
  52. //新建一個返回會話的函數 
  53. function jianli_huihua($url,$postdata='',$cookie='',$cookiefile='',$cookiejar='',$useragent='',$referer='',$followlocation=0) 
  54.         //echo '開始建立與網址:'.$url.'的會話<BR>'; 
  55.         $huihua=curl_init($url); 
  56.         curl_setopt($huihua,CURLOPT_RETURNTRANSFER,1); 
  57.         curl_setopt($huihua,CURLOPT_HEADER,1); 
  58.  
  59.         if(!emptyempty($postdata)){//echo '使用post方式建立會話<BR>'; 
  60.                 curl_setopt($huihua,CURLOPT_POST,1); 
  61.                 curl_setopt($huihua,CURLOPT_POSTFIELDS,$postdata); 
  62.         } 
  63.         if(!emptyempty($cookie)){//echo '設置請求的cookie:'.$cookie.'<BR>'; 
  64.                 curl_setopt($huihua,CURLOPT_COOKIE,$cookie); 
  65.         } 
  66.         elseif(!emptyempty($cookiefile)){//echo '不設置請求cookie,設置請求發送的cookie文件:'.$cookiefile.'<BR>'; 
  67.                 curl_setopt($huihua,CURLOPT_COOKIEFILE,$cookiefile); 
  68.         } 
  69.         if(!emptyempty($cookiejar)){//echo '設置返回的cookie保存文件:'.$cookiejar.'<BR>'; 
  70.                 curl_setopt($huihua,CURLOPT_COOKIEJAR,$cookiejar); 
  71.         } 
  72.         if(!emptyempty($useragent)){//echo '設置瀏覽器信息:'.$useragent.'<BR>'; 
  73.                 curl_setopt($huihua,CURLOPT_USERAGENT,$useragent); 
  74.         } 
  75.         if(!emptyempty($referer)){//echo '設置來源網址:'.$referer.'<BR>'; 
  76.                 curl_setopt($huihua,CURLOPT_REFERER,$referer); 
  77.         } 
  78.         if(!emptyempty($followlocation)){//echo '設置爲跟縱重定向:<BR>'; 
  79.                 curl_setopt($huihua,CURLOPT_FOLLOWLOCATION,1); 
  80.         } 
  81.         //echo '與網址:'.$url.'的初始化信息建立完畢<BR>'; 
  82.             return $huihua
  83.  
  84.  
  85.  
  86.         if(!emptyempty($_GET['tijiao'])&&$_GET['tijiao']=='提交'
  87.         { 
  88.             if(!function_exists('curl_init'))die('需要開啓curl擴展才行'); 
  89.                 $url1=$_GET['url']; 
  90.                 $useragent='Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Sicent; WoShiHoney.B)'
  91.                 $cookiejar='c:\t7online_cookie.txt'
  92.  
  93.         if(!file_exists($cookiejar)) 
  94.         { 
  95.                 $f=fopen($cookiejar,'w'); 
  96.                 fclose($f); 
  97.         } 
  98.         $huihua1=jianli_huihua($url1,'','','',$cookiejar,$useragent,'',0); 
  99.         $yuanma=curl_exec($huihua1); 
  100.         curl_close($huihua1); 
  101.         if($url2=jiequstr($yuanma,'<frame src="/cgi-bin/region?','"')) 
  102.         { 
  103.             $url2='http://www.t7online.com/cgi-bin/region?'.$url2
  104.             echo 'cgi-bin/region頁url:'.$url2.'<br>'
  105.         } 
  106.         else die('<font color=red>錯誤:</font>獲取cgi-bin/region頁url出錯'); 
  107.  
  108.         $huihua2=jianli_huihua($url2,'','',$cookiejar,$cookiejar,$useragent,$url1,1); 
  109.         $yuanma=curl_exec($huihua2); 
  110.         curl_close($huihua2); 
  111.  
  112.         if($url3=jiequstr($yuanma,'<frame src="/cgi-bin/citybild?','"')) 
  113.         { 
  114.             $url3='http://www.t7online.com/cgi-bin/citybild?'.$url3
  115.             echo '/cgi-bin/citybild頁url:'.$url3.'<br>'
  116.         } 
  117.         else die('<font color=red>錯誤:</font>獲取/cgi-bin/citybild頁url出錯'); 
  118.  
  119.         $huihua3=jianli_huihua($url3,'','',$cookiejar,$cookiejar,$useragent,$url2,1); 
  120.         $yuanma=curl_exec($huihua3); 
  121.         //echo 'result:'.$yuanma.'<br>'; 
  122.         curl_close($huihua3); 
  123.         $f=fopen('tianqi.html','w'); 
  124.         fputs($f,$yuanma); 
  125.         fclose($f); 
  126.         echo '<a href="tianqi.html"><font color="#ff0000">點擊查看天氣頁面</font></a>'
  127.         } 
  128.  
  129.         //提供輸入初始天氣頁的表單 
  130.         else echo '<form method="get" action="t7online.php"
  131.         請輸入url:(路:http://www.t7online.com/Hubei/Dawu.htm,2級城市天氣)<input type="text" name="url"><input type="submit" name="tijiao" value="提交"> 
  132.         </form>'; 
  133.  
  134.  
  135. ?> 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章