1. package org.com.Weather.weather;
  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.net.MalformedURLException;
  6. import java.net.URL;
  7. /**
  8. * 中央气象台的天气预报API
  9. * */
  10. public class Wweather {
  11. /**
  12. * 获取所有中国 省份及一级城市
  13. * */
  14. public String weather() {
  15. // TODO Auto-generated method stub
  16. String ws_url = "http://m.weather.com.cn/data5/city.xml";
  17. String str= "";
  18. try {
  19. URL url = new URL(ws_url);
  20. BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream(),"utf-8"));//解决乱码问题
  21. StringBuffer sb = new StringBuffer();
  22. String s = "";
  23. while ((s = br.readLine()) != null) {
  24. sb.append(s + "\r\n"); //将内容读取到StringBuffer中
  25. }
  26. br.close();
  27. //System.out.println(sb.toString()); 屏幕
  28. str = new String(sb.toString().getBytes());
  29. } catch (MalformedURLException e) {
  30. // TODO Auto-generated catch block
  31. e.printStackTrace();
  32. } catch (IOException e) {
  33. // TODO Auto-generated catch block
  34. e.printStackTrace();
  35. }
  36. return str;
  37. }
  38. /**
  39. * 根据传入参数获取二级城市
  40. * */
  41. public String secondCity(String id){
  42. String ws_url = "http://m.weather.com.cn/data5/city"+id+".xml";
  43. String str= "";
  44. try {
  45. URL url = new URL(ws_url);
  46. BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream(),"utf-8"));//解决乱码问题
  47. StringBuffer sb = new StringBuffer();
  48. String s = "";
  49. while ((s = br.readLine()) != null) {
  50. sb.append(s + "\r\n"); //将内容读取到StringBuffer中
  51. }
  52. br.close();
  53. //System.out.println(sb.toString()); 屏幕
  54. str = new String(sb.toString().getBytes());
  55. } catch (MalformedURLException e) {
  56. // TODO Auto-generated catch block
  57. e.printStackTrace();
  58. } catch (IOException e) {
  59. // TODO Auto-generated catch block
  60. e.printStackTrace();
  61. }
  62. return str;
  63. }
  64. /**
  65. * 根据传入参数得到城市天气预报信息ID, 其实也可以直接调用上面方法,为理解方便,故多加一个
  66. * */
  67. public String weatherCityId(String id){
  68. String ws_url = "http://m.weather.com.cn/data5/city"+id+".xml";
  69. String str= "";
  70. try {
  71. URL url = new URL(ws_url);
  72. BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream(),"utf-8"));//解决乱码问题
  73. StringBuffer sb = new StringBuffer();
  74. String s = "";
  75. while ((s = br.readLine()) != null) {
  76. sb.append(s + "\r\n"); //将内容读取到StringBuffer中
  77. }
  78. br.close();
  79. //System.out.println(sb.toString()); 屏幕
  80. str = new String(sb.toString().getBytes());
  81. } catch (MalformedURLException e) {
  82. // TODO Auto-generated catch block
  83. e.printStackTrace();
  84. } catch (IOException e) {
  85. // TODO Auto-generated catch block
  86. e.printStackTrace();
  87. }
  88. return str;
  89. }
  90. public static void main(String[] args) {
  91. Wweather w=new Wweather();
  92. String[] strArray=w.weather().split(",");
  93. for(int i=0;i<strArray.length;i++){
  94. String[] strArr=strArray[i].split("\\|");
  95. try {
  96. Thread.sleep(1000);
  97. } catch (InterruptedException e) {
  98. // TODO Auto-generated catch block
  99. e.printStackTrace();
  100. }
  101. String[] strArray2=w.secondCity(strArr[0]).split(",");
  102. for(int j=0;j<strArray2.length;j++){
  103. String[] strArray3=w.weatherCityId(strArray2[j].split("\\|")[0]).split(",");
  104. for(int m=0;m<strArray3.length;m++){
  105. System.out.println(strArray3[m].split("\\|")[1]+"  "+w.weatherCityId(strArray3[m].split("\\|")[0]).split("\\|")[1]);
  106. }
  107. }
  108. }
  109. }
  110. }

java获取中国城市代码 中国城市ID相关推荐

  1. javaScript学习笔记:用城市代码查询城市天气

    javaScript学习笔记:AXAJ基础 一.准备工作 1.python案列:查询城市天气并绘制最高气温与最低气温折线图 2.使用JSON Viever直观查看JSON数据 二.任务 任务2.输入城 ...

  2. java获取当前时间代码(适合于是springboot+vue+java)

    java获取当前时间代码(适合于是springboot+vue+java) /*** 获取当前的的动态时间格式*/Calendar calendar = Calendar.getInstance(); ...

  3. java获取中国城市代码 中国城市ID(天气预报可用哦)

    package org.com.Weather.weather;import java.io.BufferedReader; import java.io.IOException; import ja ...

  4. Java获取世界各国各城市代码_java获取中国城市代码 中国城市ID

    package org.com.Weather.weather; import java.io.BufferedReader; import java.io.IOException; import j ...

  5. java获取中国城市代码 中国城市ID

    package org.com.Weather.weather; import java.io.BufferedReader; import java.io.IOException; import j ...

  6. Java 获取ip地址、省份城市、城市ip

    1.获取ip :使用request.getHeader("x-forwarded-for")获取真实IP,x-forwarded-for的值并不止一个,而是一串IP值,获取为空时, ...

  7. java获取当前运行代码的类名、方法名、行号

    1.获取当前运行代码的类名,方法名,行号,主要是通过java.lang.StackTraceElement类 2. [1]获得调用者的方法名, 同new Throwable String _metho ...

  8. java获取当前日期时间代码

    1.获取当前时间,和某个时间进行比较.此时主要拿long型的时间值. 方法如下: 要使用 java.util.Date .获取当前时间的代码如下 代码如下   Date date = new Date ...

  9. java 获取上市公司基本信息 代码测试

    原理:java通过jsoup访问网站,通过html标签获取公司的基本信息 使用的jar包版本 <!-- https://mvnrepository.com/artifact/org.jsoup/ ...

最新文章

  1. Dubbo--zookeeper面试中问题解答
  2. html绘制头像原样教程,CSS实例教程:创意CSS3头像展示教程
  3. mysql导出入数据库报错_mysql数据库导出导入数据库的搜索结果-阿里云开发者社区...
  4. listView分批和分页加载数据
  5. CodeForces - 609E Minimum spanning tree for each edge(最小生成树+树链剖分+线段树/树上倍增)
  6. leetcode 239. Sliding Window Maximum | 239. 滑动窗口最大值(单调栈,窗口内最大最小值更新结构)
  7. 数据结构【高精度专题】
  8. $(“#addLowForm“).serialize()同时提交其它参数的写法
  9. Android学习笔记---Android平台1.使用dom解析xml文件
  10. 计算机学office有必要吗,计算机二级office要学多久
  11. lamda表达式修改数据_正则表达式学习教程
  12. 喜马拉雅音频下载+x2m文件转换
  13. android绘制矢量图地图,Android 高级 UI 进阶之路 (七) SVG 基础使用 + 绘制中国地图...
  14. android手机屏幕投影,安卓手机屏幕投影到电脑(笔记本)教程分享
  15. Matlba实现傅里叶变换及其逆变换
  16. Python3 实现网易126邮件发送
  17. 6月30日 区块链新闻
  18. 小程序视频旋转的相关问题
  19. FPGA数字图像处理
  20. 【校招VIP】产品经理行测之数列题

热门文章

  1. 自然语言处理实战-基于LSTM的藏头诗和古诗自动生成
  2. 数字证书明文_明文数字证书风险
  3. 纯CSS输入区域下划线
  4. wince 快速挂载SD卡及U盘
  5. express框架项目搭建
  6. 抖音视频怎么上推荐热门,如何免费提升抖音浏览量
  7. crawler4j爬虫入门
  8. 我知道女生学习数学竞赛很难,但我仍想要坚持下去
  9. (C实例)输入一个华氏温度,要求输出摄氏温度。公式为c=5/9(F-32),输出要有文字说明,取两位小数。
  10. Graph(图)干货归纳+用法示例