栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python爬取行政区划代码(最新版)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python爬取行政区划代码(最新版)

注意:如果想要保存到数据库或者导出Excel,直接在每个print()处进行保存即可。

import re
import urllib.request

INDEX_URL = "http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2021/"


def get_province_code():
    """
    获取省份名称
    :return:
    """
    # 获取省级初始页
    province_response = urllib.request.urlopen(INDEX_URL + "index.html").read().decode("utf-8")
    # 获取省份名称+城市初始页数据
    province_data = re.findall(r"(.*?)
", province_response) # 获取城市名称 + 省份代码 + 城市代码 for url, name in province_data: # 拼接省份代码 code = url.replace(".html", "") + "0" * 10 print("省份:%s 代码:%s" % (name, code)) get_city_code(url) def get_city_code(province_url): """ 获取城市名称+代码 :return: """ # 获取城市初始页 city_response = urllib.request.urlopen(INDEX_URL + province_url).read().decode("utf-8") # 获取城市名称+城市code+地区初始页数据 city_data = re.findall(r"(.*?)(" r".*?)", city_response) # 获取地区名称 + 地区代码 for url, code, _url, name in city_data: print("城市:%s 代码:%s" % (name, code)) get_area_code(url) def get_area_code(city_url): """ 获取区县名称+代码 :return: """ # 获取区县初始页 area_response = urllib.request.urlopen(INDEX_URL + city_url).read().decode("utf-8") # 获取区县名称+区县code+街道初始页数据 area_data = re.findall(r"(.*?)(" r".*?)", area_response) # 获取街道名称 + 街道代码 for url, code, _url, name in area_data: print("区县:%s 代码:%s" % (name, code)) get_street_code(url) def get_street_code(area_url): """ 获取街道名称+代码 :return: """ # 获取街道初始页 street_response = urllib.request.urlopen(INDEX_URL + area_url[3:5] + "/" + area_url).read().decode("utf-8") # 获取街道名称+街道code+社区初始页数据 street_data = re.findall(r"(.*?)(" r".*?)", street_response) # 获取社区名称 + 社区代码 for url, code, _url, name in street_data: print("街道:%s 代码:%s" % (name, code)) get_community_code(url) def get_community_code(street_url): """ 获取社区名称+代码 :return: """ # 获取社区初始页 community_response = urllib.request.urlopen(INDEX_URL + street_url[3:5] + "/" + street_url[5:7] + "/" + street_url) .read().decode("utf-8") community_data = re.findall(r"(.*?)(.*?)(.*?)" , community_response) for code, _type, name in community_data: print("社区:%s 代码:%s" % (name, code)) def main(): """ 主启动函数 :return: """ # 获取省份名称 get_province_code() if __name__ == "__main__": main()

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1015243.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号