| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 | 
							- <?php
 
- namespace Area\Src;
 
- use Dever;
 
- class Import
 
- {
 
-     private $url = 'http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2018/';
 
- 	/**
 
-      * 获取国家统计局最新的地区数据
 
-      *
 
-      * @return mixed
 
-      */
 
-     public function load()
 
-     {
 
-         $url = $this->url . 'index.html';
 
-         
 
-         $html = Dever::curl($url);
 
-         $html = mb_convert_encoding($html, "UTF-8", "GB2312");
 
-         preg_match_all('/<td><a href=\'(.*?)\'>(.*?)<br\/><\/a><\/td>/i', $html, $result);
 
-         # 获取省份
 
-         $this->getProvince($result);
 
-         return 1;
 
-     }
 
-     public function getProvince($result)
 
-     {
 
-         $update = array();
 
-         if (isset($result[1]) && isset($result[2])) {
 
-             foreach ($result[2] as $k => $v) {
 
-                 $update['id'] = $this->id(trim($result[1][$k], '.html'));
 
-                 $update['name'] = $v;
 
-                 $id = Dever::upinto('area/province', $update, $update);
 
-                 # 获取城市
 
-                 $this->getCity($id, $update['name'], $result[1][$k]);
 
-             }
 
-         }
 
-     }
 
-     public function getCity($province, $province_name, $link)
 
-     {
 
-         $url = $this->url . $link;
 
-         
 
-         $html = Dever::curl($url);
 
-         $html = mb_convert_encoding($html, "UTF-8", "GB2312");
 
-         preg_match_all('/<tr class=\'citytr\'><td><a href=\'(.*?)\'>(.*?)<\/a><\/td><td><a href=\'(.*?)\'>(.*?)<\/a><\/td><\/tr>/i', $html, $result);
 
-         $update = array();
 
-         if (isset($result[3]) && isset($result[4])) {
 
-             foreach ($result[4] as $k => $v) {
 
-                 if ($v == '市辖区') {
 
-                     $v = $province_name;
 
-                 }
 
-                 $update['id'] = $this->id($result[2][$k]);
 
-                 $update['name'] = $v;
 
-                 $update['province_id'] = $province;
 
-                 $id = Dever::upinto('area/city', $update, $update);
 
-                 # 获取县区
 
-                 $this->getCounty($id, $result[3][$k]);
 
-             }
 
-         }
 
-     }
 
-     public function getCounty($city, $link)
 
-     {
 
-         $url = $this->url . $link;
 
-         
 
-         $html = Dever::curl($url);
 
-         $html = mb_convert_encoding($html, "UTF-8", "GB2312");
 
-         preg_match_all('/<tr class=\'countytr\'><td><a href=\'(.*?)\'>(.*?)<\/a><\/td><td><a href=\'(.*?)\'>(.*?)<\/a><\/td><\/tr>/i', $html, $result);
 
-         $update = array();
 
-         if (isset($result[3]) && isset($result[4])) {
 
-             foreach ($result[4] as $k => $v) {
 
-                 $update['id'] = $this->id($result[2][$k]);
 
-                 $update['name'] = $v;
 
-                 $update['city_id'] = $city;
 
-                 Dever::upinto('area/county', $update, $update);
 
-             }
 
-         }
 
-     }
 
-     public function id($id)
 
-     {
 
-         return Dever::load('area/api')->code($id);
 
-     }
 
- }
 
 
  |