当前位置: 首页 > news >正文

网站 asp.net php中山做网站建设联系电话

网站 asp.net php,中山做网站建设联系电话,百度排名优化工具,网站设计机构文档全国行政区划信息查询平台地址#xff1a;http://xzqh.mca.gov.cn/map 检查网页源码#xff1a; 检查网页源码可以发现#xff1a; 所有省级信息全部在javaScript下的json中#xff0c;会在页面加载时加载json数据#xff0c;填充到页面的option中。 1.第一步#xff1…全国行政区划信息查询平台地址http://xzqh.mca.gov.cn/map 检查网页源码 检查网页源码可以发现 所有省级信息全部在javaScript下的json中会在页面加载时加载json数据填充到页面的option中。 1.第一步使用正则表达式抓取json数据并解析租成一个province集合 # 获取省的集合def get_province(self):pattern re.compile(rvar json (.*?);, re.MULTILINE | re.DOTALL)script self.soup.find(script, textpattern)lists str(pattern.search(script.text).group(1))json_list json.loads(lists)# province_list set()province_dict dict()for json_data in json_list:province json_data[shengji]quhua_code json_data[quHuaDaiMa]province_dict.update({quhua_code: province})# province_list.add(province)# print(province_dict)return province_dict2.第二步检查该网站实现级联查询的方式找出查询市区的方式 根据这段源码可看出在选择 省级的后网页会调用selectJson接口进行一个post请求上图可以看到请求的body和header等信息。 于是事情就变得简单起来代码可以这样写如下 # 获取市def get_city(self, shengji):body (shengji shengji).encode(UTF-8)# body shengji江苏省(苏)..encode(UTF-8)headers {Content-Type: application/x-www-form-urlencoded; charsetutf-8,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36}response requests.post(http://xzqh.mca.gov.cn/selectJson, databody, headersheaders)content response.contentjson_list json.loads(content)# city_list set()city_dict dict()for json_data in json_list:citys json_data[diji]# city_list.add(citys)quhua_code json_data[quHuaDaiMa]city_dict.update({quhua_code: citys})return city_dict# return city_list# 获取区def get_area(self, shengji, diji):body (shengji shengji diji diji).encode(UTF-8)headers {Content-Type: application/x-www-form-urlencoded; charsetutf-8,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36}response requests.post(http://xzqh.mca.gov.cn/selectJson, databody, headersheaders)content response.contentjson_list json.loads(content)# area_list set()area_dict dict()for json_data in json_list:area json_data[xianji]# area_list.add(area)area_code json_data[quHuaDaiMa]area_dict.update({area_code: area})return area_dict2.第三步main函数遍历所有省市区数据入库 数据库表结构如下 【全部代码如下】 import requests from bs4 import BeautifulSoup import pymysql import re import jsonclass allAreaDataNew(object):base_url http://xzqh.mca.gov.cn/mapheaders {User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36}wb_data requests.get(base_url, headersheaders)wb_data.encoding GBKsoup BeautifulSoup(wb_data.text, lxml)# print(soup)def __init__(self):self.db pymysql.connect(***, ***, ***, ***, charsetutf8mb4) # mysql数据库self.main()self.db.close()# 入口def main(self):sql_list set()province_dict self.get_province()for province_code in province_dict:province province_dict[province_code]city_dict self.get_city(province)sql_province insert into area_config values (null, province ,PROVINCE, province_code ,0)sql_list.add(sql_province)print(province_code ----------------------------------省------------------------------------------ province \n)for city_code in city_dict:city city_dict[city_code]area_dict self.get_area(province, city)print(city_code *******************市**************** city \n)# 处理 省直辖县级行政单位if city 省直辖县级行政单位 or city 自治区直辖县级行政单位:sql_city insert into area_config values (null, city ,CITY, province_code , province_code )sql_list.add(sql_city)for area_code in area_dict:area area_dict[area_code]print(area_code -区- area \n)sql_area insert into area_config values (null, area ,DISTRICT, area_code , province_code )sql_list.add(sql_area)else:sql_city insert into area_config values (null, city ,CITY, city_code , province_code )sql_list.add(sql_city)for area_code in area_dict:area area_dict[area_code]print(area_code -区- area \n)sql_area insert into area_config values (null, area ,DISTRICT, area_code , city_code )sql_list.add(sql_area)print(str(sql_list))# 事务入库empty_sql delete from area_configself.connect_mysql(empty_sql, sql_list)# 获取省def get_province(self):pattern re.compile(rvar json (.*?);, re.MULTILINE | re.DOTALL)script self.soup.find(script, textpattern)lists str(pattern.search(script.text).group(1))json_list json.loads(lists)# province_list set()province_dict dict()for json_data in json_list:province json_data[shengji]quhua_code json_data[quHuaDaiMa]province_dict.update({quhua_code: province})# province_list.add(province)# print(province_dict)return province_dict# 获取市def get_city(self, shengji):body (shengji shengji).encode(UTF-8)# body shengji江苏省(苏)..encode(UTF-8)headers {Content-Type: application/x-www-form-urlencoded; charsetutf-8,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36}response requests.post(http://xzqh.mca.gov.cn/selectJson, databody, headersheaders)content response.contentjson_list json.loads(content)# city_list set()city_dict dict()for json_data in json_list:citys json_data[diji]# city_list.add(citys)quhua_code json_data[quHuaDaiMa]city_dict.update({quhua_code: citys})return city_dict# return city_list# 获取区def get_area(self, shengji, diji):body (shengji shengji diji diji).encode(UTF-8)headers {Content-Type: application/x-www-form-urlencoded; charsetutf-8,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36}response requests.post(http://xzqh.mca.gov.cn/selectJson, databody, headersheaders)content response.contentjson_list json.loads(content)# area_list set()area_dict dict()for json_data in json_list:area json_data[xianji]# area_list.add(area)area_code json_data[quHuaDaiMa]area_dict.update({area_code: area})return area_dict# return area_listdef connect_mysql(self, empty_sql, sql_list):cursor self.db.cursor()try:cursor.execute(empty_sql)for sql in sql_list:cursor.execute(sql)print(更新所有数据完成)except Exception as e:print(更新失败)print(e)self.db.rollback()finally:cursor.close()# 提交操作self.db.commit()if __name__ __main__:allAreaDataNew()代码执行成功后就可以查到中国所有省市区啦 特殊情况“省直辖县级行政单位”和“自治区直辖县级行政单位” 部分省有特殊的“直辖县级行政单位”或“自治区直辖县级行政单位” 参考https://baike.baidu.com/item/省直辖县级行政单位/6903180?fraladdin 遇到这种情况有点懵逼因为没有 区号代码 所以无法关联父子关系。 但是无妨数据库设计有type字段直接将省级区号代码作为唯一值给到市作为区号代码再将这个值赋值给区作为区的父级区号代码这样后台用type区号代码判断关联关系。 PS后续 1.由于本身是java项目要用到中国的省市区 2.并且中国的省市区的变化很频繁市级区级的变化时有发生因此后期可以用jython将其用到java项目并且可以写一个job定时任务定时更新数据库表。 参考文档 https://jingyan.baidu.com/article/d169e1867bd27f436611d829.html
http://wiki.neutronadmin.com/news/229685/

相关文章:

  • 网站租空间多少钱一年校园网站开发技术
  • 回收网站怎么做工作室做什么项目好
  • 哪里有国内网站建设公司做国外单的网站叫什么
  • 凡科建站官网登录入口网页版企业型网站建设哪家比较好
  • 做的网站怎么上传网站空间已过期
  • 公司注册网站的费用多少大同网站建设企业
  • 网站建设客户开发方案手机端网站建设郑州
  • 阜蒙县建设镇官方网站石家庄好用的招聘网站
  • 体育直播网站开发数据源获取深圳最好的网站开发公司
  • 顺德新网站建设怎么查网络服务商
  • 上海专业做网站的公司有哪些经典软文案例100例
  • 医疗器械做网站备案品牌网站建设小蝌蚪1a
  • 江宁网站建设哪家好产品网站用什么软件做
  • 网站里面的超链接怎么做镇平县两学一做专题网站
  • 现在主流的网站开发平台有哪些wordpress自动加载插件
  • 济南的网站建设公司无锡市建设局网站联系电话
  • 专做衬衫的网站文创产品设计步骤
  • 惠州网站建设设计ftp服务器设置网站主页
  • 城阳 网站建设网站gzip压缩
  • 做网站 赚广告费WordPress重置密码链接失效
  • 怎么做淘宝客采集网站软件开发工程师报考条件
  • 福州市建设管理处网站wordpress怎么改成中文字体
  • 大连宏帝建设网站网站开发者模式怎么打开
  • 做网站和做app哪个容易wordpress sql过滤
  • 手机上的软件网站建设贷款客户大数据精准获客
  • 大连公司排名佛山网站建设乐云seo在线制作
  • 聊城网站推广公司德阳seo
  • 蒙牛官网网站怎么做的公司做网站算什么费用
  • 企业网站seo优化郫县网站制作
  • 上海市网站seo公司济南网站建设服务