import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class T {
static String regex = "^\\d*$";
/**
* @param args
*/
public static void main(String[] args) {
try {
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:H:\\sqllite\\city.db");
conn.setAutoCommit(false);
try {
insert(conn, "-1");
} catch (SQLException e) {
e.printStackTrace();
conn.rollback();
}finally{
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static String getData(String code){
try{
URL url = new URL("http://m.weather.com.cn/data5/city"+code+".xml");
// URL url = new URL("http://m.weather.com.cn/data/101010100.html");
BufferedReader br = new BufferedReader(new InputStreamReader(url
.openStream(),"UTF-8"));
String s = "";
StringBuffer sb = new StringBuffer("");
while ((s = br.readLine()) != null) {
sb.append(s);
}
br.close();
return sb.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static void insert(Connection conn,String code) throws SQLException{
String str = getData(code.equals("-1")?"":code);
if(str!=null){
String[] ss = str.split(",");
for(String s : ss){
String[] vs = s.split("\\|");
String citycode = vs[0];
String cityname = vs[1];
Statement stat = conn.createStatement();
if(cityname.matches(regex)){
stat.executeUpdate("update citys set weathercode='"+cityname+"' where citycode = '"+code+"'");
conn.commit();
stat.close();
}else{
stat.executeUpdate("INSERT INTO citys (citycode,cityname,parentcode) VALUES('"+citycode+"','"+cityname+"','"+code+"')");
conn.commit();
stat.close();
insert(conn, citycode);
}
}
}
}
}
中国气象局接口城市代码及抓取源码
4星 · 超过85%的资源 需积分: 41 121 浏览量
2013-01-07
10:11:24
上传
评论
收藏 29KB RAR 举报
RT1235
- 粉丝: 0
- 资源: 3
最新资源
- 漫画牛app.apk
- QPSK的锁相环程序,在MATLAB环境下编写的
- c89c9ae435b3beb574fc729c96a803f0_bigAttachIdentifer.mp4
- USB无线网卡驱动 USB\VID-1A86&PID-E397&REV-0738
- matlab实现2ASK通信系统仿真进行2ASK调制
- 直扩+BPSK仿真系统(MATLAB程序.zip
- 利用matlab对am,dsb,ssb,ask,fsk,bpsk信号进行正交调制解调仿真
- 工作汇报 年终总结66.pptx
- 基于Bootstrap的树形表格设计源码
- 7.农机电招平台设计与实现-SpringBoot+ Mysql+Java+ B/S 可运行源码(含数据库脚本)+开发文档+lw)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
前往页