//现在很多网站要一个能自动更新的天气预报,下面是一个方法:
//获取气象台网站的网页,得到他们网站网页的html代码后,把html代码中有关天气的信息切出来
import java.io.*;
import java.net.*;
import java.util.*;
public HashMap getUrl() {
try {
URL url = new URL("http://www.气象台.com/index.asp");
URLConnection con = url.openConnection();
InputStream in = con.getInputStream();
int c;
String s = "";
while ( (c = in.read()) > 0) {
s += (char) c;
}
in.close();
s = new String(s.trim().getBytes("iso8859-1"), "GB2312");
int frist = s.indexOf("<td valign=/"top/" bgcolor=/"#CCE5FF/">");
//在得到的html代码中,这一行后就是天气 信息
s = s.substring(frist + 35);
int last = s.indexOf("</td>");
s = s.substring(0, last);
//System.out.println(s);
s = s.replaceAll(" ", "");
s = s.replaceAll("<center>", "");
String[] ss;
if (s.indexOf("</center>") > 0 && s.indexOf("<img") > 0) {
ss = s.split("</center>");
ss = ss[1].split("<br>");
for (int i = 0; i < ss.length; i++) {
ss[i] = ss[i].trim();
//System.out.println(ss[i]);
}
temp.put("tianqi", "");
temp.put("jiangshui", ss[0]);
temp.put("fengxiang", ss[1]);
temp.put("fengli", ss[2]);
temp.put("qiwen", ss[3]);
temp.put("shidu", ss[4]);
}
else {
ss = s.split("<br>");
for (int i = 0; i < ss.length; i++) {
ss[i] = ss[i].trim();
//System.out.println(ss[i]);
}
temp.put("天气", ss[1]);
temp.put("降水", ss[2]);
temp.put("风向", ss[3]);
temp.put("风力", ss[4]);
temp.put("气温", ss[5]);
temp.put("湿度", ss[6]);
}
}
catch (Exception e) {
e.printStackTrace();
}
return temp;
}