python获取国家统计局全国行政区划数据

以下代码是ChatGPT和我共创的
ChatGPT问答记录分享
国家统计局2023全国行政区划

import requests
from bs4 import BeautifulSoup
import pandas as pd
from urllib.parse import urlparse, unquote, urljoin


def fetch_data(url, encoding='utf-8'):
    response = requests.get(url)
    if response.status_code == 200:
        response.encoding = encoding
        return response.text
    else:
        print(f"Failed to fetch data. Status code: {
     response.status_code}")
        return None


def parse_html(html, url):
    soup = BeautifulSoup(html, 'html.parser')
    data = []

    # 根据实际网页结构调整以下代码
    provinces = soup.select('tr.provincetr a')
    for province in provinces:
        province_name = province.text.strip()
        province_code = province['href'].split('.')[0]
        if province_code == '37':
            # 输出省级数据
            print(f"Province: {
     province_name} ({
     province_code})")

            # 获取市级数据
            city_url_base = get_parent_folder_path(url)
            city_url = f"{
     city_url_base}/{
     province_code}.html"
            city_html = fetch_data(city_url)
            if city_html:
                city_data = parse_city_html(
                    city_html, province_code, city_url)
            data.extend(city_data)
    return data


def parse_city_html(html, province_code, url):
    soup = BeautifulS
### Python 获取中国省市区县级别的行政区划代码方法 为了获取中国的省、市、区县级别的行政区划代码,可以利用网络资源中的公开数据源。一种常见的方式是从国家统计局官方网站下载最新的《中华人民共和国行政区划代码》文档并解析该文件来构建相应的数据库。 另一种高效的方法是通过调用第三方API接口实现自动化采集。例如,一些在线平台提供了结构化的JSON格式返回值,可以直接请求这些服务端口获得最新最全的数据集[^1]。 下面是一个简单的例子展示如何使用`requests`库向特定URL发起GET请求从而得到包含各级行政区域信息的结果: ```python import requests url = 'https://example.com/api/area' # 替换成实际提供行政区划代码的API地址 response = requests.get(url) if response.status_code == 200: data = response.json() else: raise Exception('Failed to fetch area codes') ``` 对于所获取到的信息,可以根据需求进一步处理成易于使用的表格形式,并最终保存为Excel文件以便后续分析或应用开发人员查阅。这里给出一段示范性的代码片段用于说明这一过程: ```python import pandas as pd # 构建DataFrame对象 df = pd.DataFrame(data['result']) # 定义保存路径 path = './area_codes.xlsx' # 将DataFrame写入Excel文件 df.to_excel(path, index=False) ``` 上述操作能够有效地完成从互联网抓取至本地存储整个流程的任务执行工作流设计。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值