Sivo 悉见

全国统计用区划和城乡划分代码

匿名 · 更新于 2024/2/4

https://www.stats.gov.cn/sj/tjbz/tjyqhdmhcxhfdm/2023/


省市区乡镇mysql数据库:https://yunpan.cn/cxTr8GFrZq5Jp  访问密码 6114
全国行政区完整数据库:https://yunpan.cn/cxTre8mKMRv8D  访问密码 9b29

全国行政区筛选部分地区整合数据库代码
//将地区数据库调整
    public function area(){
        set_time_limit(0);
        //采集省
        $province_list = D('Position_provice')->select();
        //dump($province_list);
        foreach($province_list as $k => $v){
            $data = array();
            $data['name'] = $v['provice_name'];
            $data['level'] = 1;
            $data['parent_id'] = 0;
            $id = D('Area')->add($data);
            //采集市
            $city_list = D('Position_city')->where("province_id = '".$v['provice_id']."'")->select();
            $id1 = $id;
            foreach($city_list as $k1 => $v1){
                if(preg_match('/辖/i',$v1['city_name'])){  //直辖  则查询下一级  区县
                    //采集区县
                    $qx_list = D('Position_county')->where("city_id = '".$v1['city_id']."'")->select();
                    foreach($qx_list as $k2 => $v2){
                        $data = array();
                        $data['name'] = $v2['county_name'];
                        $data['level'] = 2;
                        $data['parent_id'] = $id1;
                        $id2 = D('Area')->add($data);
                        //采集乡镇
                        $xz_list = D('Position_town')->where("county_id = '".$v2['county_id']."'")->select();
                        foreach($xz_list as $k3 => $v3){
                            $data = array();
                            $data['name'] = $v3['town_name'];
                            $data['level'] = 4;
                            $data['parent_id'] = $id2;
                            $id4 = D('Area')->add($data);
                        }
                    }
                    
                }else{
                    $data = array();
                    $data['name'] = $v1['city_name'];
                    $data['level'] = 2;
                    $data['parent_id'] = $id1;
                    $id2 = D('Area')->add($data);
                    //采集区县
                    $qx_list = D('Position_county')->where("city_id = '".$v1['city_id']."'")->select();
                    foreach($qx_list as $k2 => $v2){
                        $data = array();
                        $data['name'] = $v2['county_name'];
                        $data['level'] = 3;
                        $data['parent_id'] = $id2;
                        $id3 = D('Area')->add($data);
                        //采集乡镇
                        $xz_list = D('Position_town')->where("county_id = '".$v2['county_id']."'")->select();
                        foreach($xz_list as $k3 => $v3){
                            $data = array();
                            $data['name'] = $v3['town_name'];
                            $data['level'] = 4;
                            $data['parent_id'] = $id3;
                            $id4 = D('Area')->add($data);
                        }
                    }
                    
                }
                
            }
            
        }

从行政区网站采集数据库代码
    public function caijiarea(){
        header("Content-type:text/html;charset=utf-8");
        set_time_limit(0);
        $con = file_get_contents('http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2014/index.html');
        $con = iconv('gbk', 'utf-8', $con);
        //采集省
        $sheng = preg_match_all('/href=\'(\d*)\.html\'>([^<]*)/i', $con, $arr);
        //循环省
        foreach($arr[1] as $k => $v){
            //将省加入数据库
            $data = array();
            $data['name'] = $arr[2][$k];
            $data['level'] = 1;
            $data['parent_id'] = 0;
            $id = D('Area')->add($data);
            //采集市(如果是直辖市 则采集区 11 12 31 50 为直辖市
            $con = file_get_contents('http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2014/'.$v.'.html');
            $con = iconv('gbk', 'utf-8', $con);
            $shi = preg_match_all('/href=\''.$v.'\/(\d*)\.html\'>([^<]*)/i', $con, $arr1);
            //循环市
            foreach($arr1[1] as $k1 => $v1){
                //判断奇偶 如果是奇数 则为实际市
                if($k1%2==1){
                    //判断如果是省直辖县级行政区划 则属于市
                    if($arr1[2][$k1] == '省直辖县级行政区划'){
                        //采集县级市
                        $con = file_get_contents('http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2014/'.$v.'.html');
                        $con = iconv('gbk', 'utf-8', $con);
                        $shi = preg_match_all('/href=\''.$v.'\/(\d*)\.html\'>([^<]*)/i', $con, $arr1);
                    }else{
                        $data = array();
                        $data['name'] = $arr1[2][$k1];
                        $data['level'] = 2;
                        $data['parent_id'] = $id;
                        $id1 = D('Area')->add($data);
                        //采集县
                        $con = file_get_contents('http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2014/'.$v.'.html');
                        $con = iconv('gbk', 'utf-8', $con);
                        $shi = preg_match_all('/href=\''.$v.'\/(\d*)\.html\'>([^<]*)/i', $con, $arr1);
                    }
                    
                }
            }
            
            
            
            
        }
        
        
    }