营销型制作网站公司,湖南省建设厅网站官网,最新军事报道,低成本做网站 百知背景#xff1a;自定义表单要做级联组件。需要配置远程接口获取区划数据。数据需要准备。 开始认为在网站上可以直接下载到区划编码的json格式数据。但是没有找到。很失望。但是找到了能够查询的国家民政局网站#xff0c;提供了截至到5月份最新的数据。中华人民共和国民政部… 背景自定义表单要做级联组件。需要配置远程接口获取区划数据。数据需要准备。 开始认为在网站上可以直接下载到区划编码的json格式数据。但是没有找到。很失望。但是找到了能够查询的国家民政局网站提供了截至到5月份最新的数据。中华人民共和国民政部进入网站后点击菜单栏民政数据就可以看到。行政区划连接。 行政区划查看 但是连接打开后直接给出的市html页面。需要自己分析。无耐请教大模型。开始还算顺利告知提取省市级别的行政区划数据但是区县级别的就不干了硕鼠数据2000条不能整理直接给出了python脚本让自己爬取解析。解析用的python代码
import os
import requests
from bs4 import BeautifulSoup# 方法一禁用代理
session requests.Session()
session.trust_env False # 禁用环境变量中的代理配置try:response session.get(https://www.mca.gov.cn/mzsj/xzqh/2025/202401xzqh.html)response.encoding response.apparent_encodingresponse.raise_for_status()# print(response.text)soup BeautifulSoup(response.text, html.parser)# print(soup.select(tr))# 示例查找所有可能包含区县信息的表格行districts []for tr in soup.select(tr):tds tr.select(td.xl7121822, td.xl7021822)# print(f {len(tds)} )if len(tds) 2:code tds[0].text.strip()name tds[1].text.strip()print(f {name} {code})# 判断是否为区县级别假设代码长度为6且第3-4位非00if len(code) 6 and code[2:4] ! 00 and code[4:6] ! 00:# 提取父级代码前4位00parent_id code[:4] 00districts.append((code, name, parent_id))#print(districts) # 生成SQL语句sql_statements []for code, name, parent_id in districts:sql fSELECT {code}, {name}, {parent_id} UNION ALLsql_statements.append(sql)if sql_statements:sql_statements[-1] sql_statements[-1].rstrip( UNION ALL) # 最后一条语句去掉UNION ALL# 保存到文件with open(districts.sql, w, encodingutf-8) as f:f.write(\n.join(sql_statements))print(f成功生成 {len(sql_statements)} 条记录到 districts.sql)except requests.exceptions.RequestException as e:print(f请求出错: {e})
except Exception as e:print(f其他错误: {e})
目前准备了3各表分别存储省市县的区划数据。其他的两个标结构基本相同