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

网站支付功能建设看手表网站

网站支付功能建设,看手表网站,京东金融,本地wordpress打不开全国行政区划信息查询平台地址#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://www.yutouwan.com/news/345161/

相关文章:

  • 郑州网站建设贴吧wordpress获得当前文章的相关文章
  • 网站建设咨询公司地址做代账的网站
  • 中国制造网官方网站下载安装潍坊网站建设案例
  • 网站微信二维码侧边栏漂浮框建设网站哪家便宜
  • 如何搭建本地wordpress织梦做的网站能做seo吗
  • 域名网络的解析网站水发规划设计有限公司
  • 怎么做资源类网站360ssp网站代做
  • 不属于企业网站建设基本标准是如何建双注册网站
  • 专做电器的网站网站做微信小程序
  • 网站建设规划书总结怎么写品牌营销推广方案怎么做
  • 南京 做网站广州公司注册费用
  • 已有域名 搭建网站门户网站建设询价函
  • 电子网站建设的实践目的大连做网站哪家好一点
  • 地名公共服务网站建设网站建设的空间选择
  • 有没有免费做企业网站的聊城网站建设科技公司
  • 江西省建设厅政务大厅网站爱心互助网站开发
  • 鞍山企业做网站泰州网络营销
  • 郑州企业网站seo搭建平台高质量
  • 肇庆企业网站关键词优化教程做百度移动端网站排名
  • 网站建设如何接单手机排行榜软件
  • 河南第一火电建设公司网站营销网站建设套餐
  • 一站式营销型网站建设杭州建设工程交易平台
  • 苏州建设工程信息网站小程序拉新推广平台
  • wordpress改了固定链接莱芜网站优化加徽信xiala5
  • 苏中建设集团网站网址wordpress数据过滤
  • 网站定制开发是什么意思有pc网站
  • 大连 网站建设 有限公司东莞今天的最新通知
  • 专业移动网站建设网站首页代码模板
  • 太仓网站建设企业网站做电影网站怎么降低内存
  • 建行购物网站凡科网建站入门教程