`
superlxw1234
  • 浏览: 542831 次
  • 性别: Icon_minigender_1
  • 来自: 西安
博客专栏
Bd1c0a0c-379a-31a8-a3b1-e6401e2f1523
Hive入门
浏览量:43296
社区版块
存档分类
最新评论

JAVA获取天气

    博客分类:
  • java
阅读更多

 

package javaapplication1;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class Weather {
	public static String getWeather(String cityCode) {
		String result = "";
		Pattern pattern = Pattern.compile(".*?\"weather\":\"(.*?)\",.*");
		try {
			URL url = new URL("http://www.weather.com.cn/data/cityinfo/" + cityCode + ".html");
			InputStream in = url.openStream();
			BufferedReader br = new BufferedReader(new InputStreamReader(in, "utf-8"));
			String line = br.readLine();
			if(null == line) {
				return result;
			} else {
				Matcher matcher = pattern.matcher(line);
				if(matcher.find()) {
					result = matcher.group(1);
				}
			}
			System.out.println(line);
			br.close();
			in.close();
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return result;
	}
	
	public static void main(String[] args) {
		System.out.println(Weather.getWeather("101110101"));
	}
}

 

 

运行结果 :

{"weatherinfo":{"city":"西安","cityid":"101110101","temp1":"4℃","temp2":"0℃","weather":"雨夹雪转小雪","img1":"d6.gif","img2":"n14.gif","ptime":"11:00"}}
雨夹雪转小雪

 用json解析是最合适的,但不想引入其他包,直接用正则解析了。

城市代码表见附件。

 

0
3
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics