import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
/**
* 獲取省〉市〉區
*/
public class MainClass2 {
private static String url = "http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2018/index.html";
public static void main(String[] args) throws Exception{
Document document = Jsoup.connect(url).get();
Elements select = document.select(".provincetr");
for (Element element : select) {
Elements select2 = element.select("a");
for (Element element2 : select2) {
String text = element2.text();
String attr = element2.attr("href");
attr = url.substring(0, url.lastIndexOf("/") + 1) + attr;
if(text.endsWith("省")){
getShi(text, attr);
}
}
}
}
public static void getShi(String shengName, String shengUrl) throws Exception{
Document document = Jsoup.connect(shengUrl).get();
Elements select = document.select(".citytable");
Elements select2 = select.select("a");
for (Element element : select2) {
String text = element.text();
String attr = element.attr("href");
attr = url.substring(0, url.lastIndexOf("/") + 1) + attr;
if(text.indexOf("0") == -1){
String shengshiStr = shengName + ">>" + text;
getQu(shengshiStr, attr);
}
}
}
public static void getQu(String name, String url) throws Exception{
Document document = Jsoup.connect(url).get();
Elements select = document.select(".countytable");
for (Element element : select) {
Elements select2 = element.select("a");
for (Element element2 : select2) {
String text = element2.text();
if(text.indexOf("0") == -1){
String sqlInfo = name + ">>" + text;
displaySql(sqlInfo);
}
}
}
}
public static void displaySql(String sqlInfo){
String[] split = sqlInfo.split(">>");
String sql = "insert into cityinfo values(default, '"+split[0]+"', '"+split[1]+"', '"+split[2]+"');";
System.out.println(sql);
}
}