新浪为我们提供了天气预报获取接口API  http://php.weather.sina.com.cn/xml.php?city=武汉&password=DJOYnieT8234jlsK&day=0  其中city=后面跟各城市的中文,比如北京,台北。。 day=后面接0 1 2  3 4 这个四个数字,0 表示当天的天气,1表示第二天的天气,以此类推。打开的是XML文件。

话不多说了,上代码:

public class GetWeather {  
    static String[] city={"北京","天津","上海","重庆","石家庄","太原","沈阳","长春","哈尔滨","南京","杭州","合肥","福州","南昌","济南","郑州","武汉","长沙","广州","海口","成都","贵阳","昆明","西安","兰州","西宁","拉萨","南宁","呼和浩特","银川","乌鲁木齐","香港","台北","澳门"};  //各个城市
    static int[] day={0,1,2,3,4};   //哪一天的天气
    static String weather;  //保存天气情况
    static String high;  //保存当天最高温度
    static String low;  //保存当天最低温度
    public void getweather()   //获取天气函数
    {  
        URL ur;  
             
        try { 
          
         DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();  //相关这个类的使用,可以去网上搜索,下同,不做详细介绍
         DocumentBuilder dombuilder=domfac.newDocumentBuilder();
         Document doc;
         Element root;
         NodeList books;
         for (String str : city) {     //循环访问获取各个地区不同天气情况
          ur = new URL("http://php.weather.sina.com.cn/xml.php?city="+str+"&password=DJOYnieT8234jlsK&day="+day);
          doc=dombuilder.parse(ur.openStream());
                root=doc.getDocumentElement();
                books=root.getChildNodes();
                for(Node node=books.item(1).getFirstChild();node!=null;node=node.getNextSibling()){
                 if(node.getNodeType()==Node.ELEMENT_NODE){
                  if(node.getNodeName().equals("status1"))weather=node.getTextContent();  //获取到天气情况
                  else if(node.getNodeName().equals("temperature1"))high=node.getTextContent();  //获取到最高温度
                  else if(node.getNodeName().equals("temperature2"))low=node.getTextContent();   //获取到最低温度
                 }
                }
                System.out.println(str+" "+weather+" "+low+"℃~"+high+"℃");  //前台输出
   }
            
                 }catch(Exception e){System.out.println("获取天气失败:"+e);}
    }  
    public static void main(String [] arg)  
    {   
              new GetWeather().getweather();  //主接口函数调用执行方法
    }  
 
}

以上需要导入一些jar包,可以去官网下载。代码比较简洁,复用性还不错。

java 利用新浪天气API获取天气预报相关推荐

  1. java 新浪天气预报接口_根据新浪天气API获取各地天气状况(Java实现)

    1.代码块package com.quickmanager.util; import java.io.FileNotFoundException; import java.io.IOException ...

  2. 利用Arduino Esp8266 心知天气API 获取天气预报信息(修改后可以DIY一个小型的桌面气象台)

    前期准备: 注册心知天气,获取API密钥  https://www.seniverse.com 生成API请求地址,北京今天和未来4天的预报请求地址如下: https://api.seniverse. ...

  3. php天气api,新浪天气API接口

    新浪天气预报API http://php.weather.sina.com.cn/xml.php?city=%B1%B1%BE%A9&password=DJOYnieT8234jlsK& ...

  4. 用JS通过新浪天气API接口获取天气

    先上代码 从代码中可以看到js是从http://php.weather.sina.com.cn/iframe/index/w_cl.php?code=js&day=0&city=&am ...

  5. 通过新浪天气api查询天气

    运行实例: 接口地址: http://php.weather.sina.com.cn/iframe/index/w_cl.php?code=js&city=郑州&day=0&d ...

  6. PHP获取东方头条接口的新闻,新浪新闻API接口

    头条 http://api.sina.cn/sinago/list.json?channel=news_toutiao 推荐 http://api.sina.cn/sinago/list.json?c ...

  7. php查询ip归属地api接口_【php】利用新浪api接口与php获取远程数据的方法,获取IP地址,并获取相应的IP归属地...

    本文与<[Servlet]Javaweb中,利用新浪api接口,获取IP地址,并获取相应的IP归属地>(点击打开链接)为姊妹篇,只是后端编程语言换成了php. 做出同样的效果,打开页面,得 ...

  8. php新浪获取ip接口,【php】利用新浪api接口与php获取远程数据的步骤,获取IP地址,并获取相应的IP归属地...

    [php]利用新浪api接口与php获取远程数据的方法,获取IP地址,并获取相应的IP归属地 本文与<[Servlet]Javaweb中,利用新浪api接口,获取IP地址,并获取相应的IP归属地 ...

  9. java 新浪股票接口api_[Java教程]【API】新浪天气接口 Beta

    [Java教程][API]新浪天气接口 Beta 0 2016-01-25 02:00:04 新浪天氣接口那是公認的好,可是百度之後發現很簡陋,所以自己寫了工具類,此處幫忙測試下其中的天氣接口,看有哪 ...

最新文章

  1. 4、计算机图形学——光栅化、抗锯齿、画家算法和深度缓冲算法(Z-buffer)
  2. IBM-X3650 6核处理器安装sql server 2005报错解决方法
  3. dataGridview与下拉框高级绑定
  4. PHP重建索引数组的键值
  5. os.listdir()
  6. 电脑大小写怎么切换_小白买了Mac pro电脑学会基本操作
  7. springboot 连接sftp服务器
  8. 网格简化技术研究报告
  9. 时间转换中的夏时制问题
  10. 怎样用python制表_用Python绘图和制表(附泰坦尼克号案例)
  11. 在excel中如何筛选重复数据_EXCEL如何快速筛选重复数据,并将结果快速复制到其他单元格...
  12. java文件乱码_Java文件读取乱码问题解决
  13. Linux下轻型编辑器geany如何格式化代码
  14. 钝化程序模式SOA架构BPM
  15. PHP 常用函数 - 数组函数
  16. 社区发现研究现状(一)
  17. 0x000000f怎么修复 win10_0xc000000f修复引导win10步骤
  18. 【C#】Label不显示下划线
  19. //电话号码中间4位隐藏
  20. MIKE水动力笔记13_数字化海图2之克里金插值

热门文章

  1. python实部虚部_以 3 为实部 4 为虚部, Python 复数的表达形式为 ___________ 或 ________ 。_键盘答案_学小易找答案...
  2. UVA1339 古老的密码 Ancient Cipher 排序
  3. 时间表、行程安排表以及日历日程的SilverLight控件MindFusion.Scheduling
  4. connect的使用
  5. 老子的软件之道 - 道篇 19 设计的最高境界
  6. 本地搭建 Overleaf
  7. 媒体类型mediaType
  8. 《Web GIS原理与应用开发》读书笔记(5)
  9. python __repr__用法_如何使用repr调试python程序
  10. 疫情阴影下的中国大学生,还需不需要诗和远方?