国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

2014最新行政區劃數據采集 有源碼

2019-11-17 02:48:13
字體:
來源:轉載
供稿:網友

2014最新行政區劃數據采集 有源碼

最近一新項目要用到國內行政區劃數據,bing了一下,已有網友提供sql版本數據下載,但在本地查看數據不夠新,至少我老家所在市2010年改名兒了這數據也看不到。所以說呢還是自己動手豐衣足食。然后就有了這篇文章

一、從國家統計局網站找到最新行政區劃代碼

see 中華人民共和國國家統計局>>行政區劃代碼

數據源找到了,拿回本地也簡單,HttpWebRequest GET一次搞定。

二、分析HTML代碼,找到區分省市區的關鍵

通過查看html代碼,可以找到很明顯的規律.

<p class="MsoNormal" align="justify">110000&nbsp;&nbsp;&nbsp; 北京市</p><p class="MsoNormal" align="justify">110100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 市轄區</p><p class="MsoNormal" align="justify">110101&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;東城區</p>

不難發現,&nbsp;的個數決定了當前元素是省市還是區

Code

string[] lines = html.Split(new string[] { "</p>" }, StringSplitOptions.RemoveEmptyEntries);string code = null, name= null,line = null;List<Node> nodes = new List<Node>();Node PRevCity = null;Node PrevProvince = null;for (int i = 0; i < lines.Length; i++){    Node nod = new Node();    line = ExtractHtml(lines[i], "align=/"justify/">", "");    code = line.Substring(0, line.IndexOf("&"));    name = line.Substring(line.LastIndexOf(";")+1).Trim();    nod.code = code;    nod.name = name;    int timesOfSpaceOccure = CountString(line, "&nbsp;");    nod.spaces = timesOfSpaceOccure;    if (timesOfSpaceOccure == 3)    {        nodes.Add(nod);        PrevProvince = nod;        PrevCity = null;    }    else    {        if (timesOfSpaceOccure > PrevProvince.spaces)        {            //下一級別            if (PrevCity != null && timesOfSpaceOccure > PrevCity.spaces)            {                if (PrevCity.cell == null)                {                    PrevCity.cell = new List<Node>();                }                PrevCity.cell.Add(nod);            }            else            {                //市                if (PrevProvince.cell == null)                {                    PrevProvince.cell = new List<Node>();                }                PrevProvince.cell.Add(nod);                PrevCity = nod;            }        }    }    }

輸出樣例

[{"code":"110000","name":"北京市","cell":[{"code":"110100","name":"市轄區","cell":[{"code":"110101","name":"東城區"},{"code":"110102","name":"西城區"}]}]},{"code":"440000","name":"廣東省","cell":[{"code":"440300","name":"深圳市","cell":[{"code":"440301","name":"市轄區"},{"code":"440303","name":"羅湖區"}]}]}]

行政區劃json文件下載

采集源碼下載

不要問我行政區劃里的“市轄區” 是什么意思,哥也不知道啊


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兰坪| 阿鲁科尔沁旗| 庆云县| 雷山县| 平山县| 德令哈市| 留坝县| 黄浦区| 西吉县| 磴口县| 宜阳县| 武隆县| 镇康县| 巫山县| 宾阳县| 沧源| 宜君县| 红桥区| 富平县| 霍林郭勒市| 湘阴县| 通辽市| 邻水| 龙门县| 凤台县| 金昌市| 吴江市| 绥江县| 莆田市| 北辰区| 留坝县| 册亨县| 民丰县| 长武县| 利津县| 娄烦县| 绵阳市| 五河县| 增城市| 阿克| 河津市|