package org.com.Weather.weather;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
/**
* 中央气象台的天气预报API
* */
public class Wweather {
/**
* 获取所有中国 省份及一级城市
* */
public String weather() {
// TODO Auto-generated method stub
String ws_url = "http://m.weather.com.cn/data5/city.xml";
String str= "";
try {
URL url = new URL(ws_url);
BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream(),"utf-8"));//解决乱码问题
StringBuffer sb = new StringBuffer();
String s = "";
while ((s = br.readLine()) != null) {
sb.append(s + "\r\n"); //将内容读取到StringBuffer中
}
br.close();
//System.out.println(sb.toString()); 屏幕
str = new String(sb.toString().getBytes());
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return str;
}
/**
* 根据传入参数获取二级城市
* */
public String secondCity(String id){
String ws_url = "http://m.weather.com.cn/data5/city"+id+".xml";
String str= "";
try {
URL url = new URL(ws_url);
BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream(),"utf-8"));//解决乱码问题
StringBuffer sb = new StringBuffer();
String s = "";
while ((s = br.readLine()) != null) {
sb.append(s + "\r\n"); //将内容读取到StringBuffer中
}
br.close();
//System.out.println(sb.toString()); 屏幕
str = new String(sb.toString().getBytes());
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return str;
}
/**
* 根据传入参数得到城市天气预报信息ID, 其实也可以直接调用上面方法,为理解方便,故多加一个
* */
public String weatherCityId(String id){
String ws_url = "http://m.weather.com.cn/data5/city"+id+".xml";
String str= "";
try {
URL url = new URL(ws_url);
BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream(),"utf-8"));//解决乱码问题
StringBuffer sb = new StringBuffer();
String s = "";
while ((s = br.readLine()) != null) {
sb.append(s + "\r\n"); //将内容读取到StringBuffer中
}
br.close();
//System.out.println(sb.toString()); 屏幕
str = new String(sb.toString().getBytes());
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return str;
}
public static void main(String[] args) {
Wweather w=new Wweather();
String[] strArray=w.weather().split(",");
for(int i=0;i<strArray.length;i++){
String[] strArr=strArray[i].split("\\|");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String[] strArray2=w.secondCity(strArr[0]).split(",");
for(int j=0;j<strArray2.length;j++){
String[] strArray3=w.weatherCityId(strArray2[j].split("\\|")[0]).split(",");
for(int m=0;m<strArray3.length;m++){
System.out.println(strArray3[m].split("\\|")[1]+" "+w.weatherCityId(strArray3[m].split("\\|")[0]).split("\\|")[1]);
}
}
}
}
}
因需要中国所有城市ID,所以写此程序获取
分享到:
相关推荐
这篇博客文章“java获取省市县数据”可能讲述了如何利用Java语言来获取并处理中国各级行政区域的数据,如省、市、县。这在开发需要地域信息的应用程序,如物流系统、地图服务或者数据分析时非常有用。下面我们将深入...
1. **数据库表结构**:首先,它可能会定义一个名为`province_city`或者类似名称的表,包含字段如`province_id`(省份ID)、`province_name`(省份名称)、`city_id`(城市ID)和`city_name`(城市名称)。...
在Java DB中,省市区编码表是一个用于存储中国省级、市级和区县级行政区域编码的数据结构,常用于地理信息系统、地址管理或者与地理位置相关的应用程序。这个表通常包含四个字段:`id`、`areaid`、`area` 和 `...
2. 数据结构:数据库中的表设计,可能包括城市ID、城市名、所在省份、邮政编码等字段。 3. 数据填充:用于初始化数据库的SQL脚本,可能包括插入城市数据的INSERT语句。 4. 查询代码:使用编程语言(如Python、Java、...
【全国城市选择系统】是一个基于Ajax技术实现的功能模块,它旨在提供用户友好的方式来轻松选取所需的中国城市。Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术...
这个“China_Province_City”项目是针对这一需求的一个Java实现,提供了2019年最新的中国3218个行政区域的数据支持。下面我们将详细探讨相关的Java编程知识点和实现原理。 1. **Java基础**:该项目基于Java编程语言...
在这个场景中,"java_DWR递归函数实现城市的省市县三级联动" 提供了一个利用DWR处理多级联动选择的实例,特别适用于中国的行政区域划分,包括省、市、县三级。这种功能常见于地址选择、物流配送等业务场景。 首先,...
描述中提到的`citySele`变量可能是用来保存当前选中的城市ID,以便在请求新数据时传递。在第30行,这个变量名需要修改为`seleValue`,这可能是为了与代码中的其他逻辑保持一致,或者是为了避免命名冲突。修改变量名...
这里,我们关注的是一个Java实现的案例,标题为“获取全国所有省市列表”,并涉及到“天气城市代码”的标签。这个压缩包文件包含了一个名为"anj"的子文件,可能是Java源代码文件或数据文件。 首先,我们要理解如何...
标题中的“中央气象台最全全国城市代码”指的是中央气象台发布的、包含了中国所有城市代码的数据资源。这个数据通常用于气象预报、气候分析以及其他与地理信息相关的应用开发。XML(Extensible Markup Language)是...
“城市代码获取”意味着我们需要知道每个城市的特定代码来准确地查询天气。城市代码通常是API提供商为每个城市分配的一个唯一标识符,可以是数字或字母组合,使用时需要查询API文档获取正确的代码。 在提供的压缩包...
- `common_area.sql` 文件可能是创建区域表(例如`areas`)的SQL语句,包含`id`(区域ID,外键关联城市表的`id`),`city_id`(所属城市ID),`name`(区域名称,如区县名),`code`(区县级行政区划代码)等字段。...
在互联网技术中,根据IP地址获取用户的地理位置是一个常见的需求。例如,网站可能需要根据访问者的IP来提供地区性的服务或内容。Java作为广泛使用的编程语言,提供了多种方法实现通过IP地址查询地理位置信息。 首先...
这个代码片段演示了如何通过身份证号码获取性别和年龄。然而,籍贯的获取较为复杂,因为这需要查询一个包含所有行政区划代码与对应籍贯的数据库。这通常涉及政府公开的数据资源或购买第三方数据服务,因此在实际应用...
这段代码会加载GeoLite2数据库,并根据给定的IP地址获取对应的国家和城市信息。 接下来是身份证(ID Card)查询。在中国,身份证号码包含了持卡人的出生日期、性别以及籍贯信息。虽然我们不能直接通过身份证号码...
每个城市也是一个对象,包含城市代码和名称。 ```json { "id": "110000", "name": "北京市", "cities": [ { "id": "110100", "name": "北京市市辖区" }, { "id": "110200", "name": "北京市县" } ... ...
全国五级行政区划代码是国家对行政区域进行编码的一种方式,用于标准化地管理和识别各个行政单位。2022年的最新数据包含了从省级到村级的完整层级,这为数据分析、地理信息系统(GIS)、政府管理、公共服务等多个...
对于不同地区的代码,可以查阅《中国行政区划代码》进行对照。 接下来的第7位到第14位是出生日期码,表示持证人的出生年月日。这部分的格式为YYYYMMDD,例如19900101表示1990年1月1日。通过简单的计算,我们可以...
这个功能的实现通常涉及到后端数据的获取以及前端展示的逻辑处理,涉及的技术包括Java和JavaScript。这里我们将深入探讨如何利用这些技术来实现这个功能。 首先,我们来看Java的部分。在后端,Java可以作为一个...
中国|1||0 黑龙江省|2|1|1 大兴安岭地区|38|2|2 黑河市|39|2|2 伊春市|40|2|2 齐齐哈尔市|41|2|2 佳木斯市|42|2|2 鹤岗市|43|2|2 绥化市|44|2|2 双鸭山市|45|2|2 鸡西市|46|2|2 七台河市|47|2|2 哈尔滨市|48|2|2 ...