可以借由php的api或者preg_match_all偷偷撷取去达成目的
这里给你一段我给台湾朋友有一段源码
<?php
header(\"Content-Type: text/html; charset=utf-8\");
function getWeather($city){
$toURL = \"
$city.htm\";
$post = array();
$ch = curl_init();
$options = array(
CURLOPT_REFERER=>'',
CURLOPT_URL=>$toURL,
CURLOPT_VERBOSE=>0,
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_USERAGENT=>\"Mozilla/4.0 (compatible;)\",
CURLOPT_POST=>true,
CURLOPT_POSTFIELDS=>http_build_query($post),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
curl_close($ch);
//连接中央气象局
echo '<pre>';
preg_match_all('/<table class=\"FcstBoxTable01\" [^>]*[^>]*>(.*)<\/div>/si',$result, $matches, PREG_SET_ORDER);
preg_match_all('/<td nowrap=\"nowrap\" [^>]*[^>]*>(.*)<\/td>/si',$matches[0][1], $m1, PREG_SET_ORDER);
$m2 = explode('</td>',$m1[0][1]);
// print_r($m2);//取得每日资料m2[0~6]
$weather = array();
for($i=0;$i<=6;$i++){
preg_match_all('/src=[^>]*[^>](.*)/si',$m2[$i], $m5, PREG_SET_ORDER);//取得天气图档
$m6 = explode('\"',$m5[0][0]);
$wi='
($m6[1],'\.\./\.\./');
$wtitle = $m6[3];
print_r($wtitle);
$weather[$i]['date'] = date(\"m-d\", mktime(0, 0, 0, date(\"m\"), date(\"d\")+$i,date(\"Y\")));
$weather[$i]['temperature'] = trim(strip_tags($m2[$i]));
$weather[$i]['title'] = $wtitle;
$weather[$i]['img'] = $wi;
}
return($weather);
}
$weather=getWeather(\"Taipei_City\") ;
print_r($weather);
// header(\"Location:loc.php\");
?>
首先
$toURL = \"
http://www.cwb.gov.tw/V7/forecast/taiwan/inc/city/$city.htm\";
这里是读取资料的网址
上面的是台湾中央气象局
preg_match_all('/<table class=\"FcstBoxTable01\" [^>]*[^>]*>(.*)<\/div>/si',$result, $matches, PREG_SET_ORDER);
preg_match_all('/<td nowrap=\"nowrap\" [^>]*[^>]*>(.*)<\/td>/si',$matches[0][1], $m1, PREG_SET_ORDER);
这里是截取台湾中央气象局网页信息table class=\"FcstBoxTable01\" [^>]*[^>]*>(.*)<\/div>的资料以及<td nowrap=\"nowrap\" [^>]*[^>]*>(.*)<\/td>的资料分别是1天跟1周
$m2 = explode('</td>',$m1[0][1]);
// print_r($m2);//取得每日资料m2[0~6]
这里是取得每日的资料
preg_match_all('/src=[^>]*[^>](.*)/si',$m2[$i], $m5, PREG_SET_ORDER);//取得天气图档
这里是取得天气的图档
$m6 = explode('\"',$m5[0][0]);
$wi='
($m6[1],'\.\./\.\./');
$wtitle = $m6[3];
print_r($wtitle);
$weather[$i]['date'] = date(\"m-d\", mktime(0, 0, 0, date(\"m\"), date(\"d\")+$i,date(\"Y\")));
$weather[$i]['temperature'] = trim(strip_tags($m2[$i]));
$weather[$i]['title'] = $wtitle;
$weather[$i]['img'] = $wi;
这里是返回的网址,日期,标题,图档等等的资料
$weather=getWeather(\"Taipei_City\") ;
print_r($weather);
然后这里是显示出地区的一周天气预报
结论:就是如果你想从网站上面截取天气预报
在php可以是用preg_match_all(网页的表格table,表格的列数tr,表格的栏位td,或者更加广泛的标签div等等获取)