自动获取天气预报-----------------------------------------白晓哲

//现在很多网站要一个能自动更新的天气预报,下面是一个方法:

//获取气象台网站的网页,得到他们网站网页的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("&nbsp;", "");
      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;
  }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值