最新2018省市區規劃官方爬蟲Java jsoup(不包括直轄市和自治區)mysql語法

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);
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章