http://www.weather.com.cn/data/sk/101010100.html
http://www.weather.com.cn/data/cityinfo/101010100.html
http://m.weather.com.cn/data/101010100.html
通过中央气象局接口获取天气预告
package weather;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import org.json.JSONException;
import org.json.JSONObject;
public class TestWeather {
public static void main(String[] args) {
String path = "http://www.weather.com.cn/data/sk/101050101.html";
URL url;
try {
url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
InputStreamReader isr = new InputStreamReader(
conn.getInputStream(), "UTF-8");
BufferedReader buffer = new BufferedReader(isr);
String strReader = "";
String strInfo = "";
while ((strReader = buffer.readLine()) != null) {
strInfo += strReader;
}
JSONObject json = new JSONObject(strInfo);
JSONObject js = json.getJSONObject("weatherinfo");
String strCity = js.getString("city");
String strCityid = js.getString("cityid");
String strtemp = js.getString("temp");
String strWD = js.getString("WD");
String strWS = js.getString("WS");
String strTime = js.getString("time");
System.out.println("城市:" + strCity + "\n城市ID:" + strCityid
+ "\n温度:" + strtemp + "℃" + "\n风向:" + strWD + "\n风力:"
+ strWS + "\n发布时间:" + strTime);
} catch (ProtocolException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
先获取到天气预告的json,然后解析json键值对,获取天气信息。