在如今的社会,身份证已经成为了我们日常生活中不可或缺的一部分。它不仅是我们的身份证明,还包含了我们的个人信息,例如出生日期、性别等。而身份证号码的前六位,即行政区划代码,代表了持有人的户籍所在地区。你知道吗,通过 Python 编程,我们可以方便地获取身份证号码前六位的归属地信息。在这篇文章中,我们将一起探讨如何利用 Python 来实现这一功能。
浏览器搜索“在线身份证校验工具”,随便进入一个在线校验网站,本文以https://uutool.cn/id-card/
这个网站为例。
网页显示“本工具数据均在本地浏览器处理,不会上传到网络服务器中,请放心使用!”
说明网页前端存在一个编码表,那我们只需要找到这个编码表就可以了。
打开开发者工具,刷新页面,找到 idCardData.json 这个请求,在 Response 内可以看到返回的就是身份证前 6 位对应的归属地编码。
在 Headers 内找到请求 url 是https://cdn.uukit.com/data/idCardData.json
接下来就可以编写 python 代码,步骤比较简单:发起请求—>获取到 json 数据—>解析 json 数据—>保存数据。
使用 csv 库实现,代码如下:
import requests
import csv
url = "https://cdn.uukit.com/data/idCardData.json"
data = requests.get(url).json()
# 创建一个 CSV 文件
with open('身份证归属地查询表.csv', 'w', newline='', encoding='utf-8') as csvfile:
# 初始化 CSV 写入器
csv_writer = csv.writer(csvfile)
# 写入 CSV 文件的表头
csv_writer.writerow(['编码', '省级行政区', '地级行政区', '县级行政区', '备注'])
# 遍历 JSON 数据
for key, value in data.items():
# 将 JSON 数据写入 CSV 文件
csv_writer.writerow([key, value['p'], value['a'], value['d'], value['i']])
print("JSON 数据已保存到 身份证归属地查询表.csv 文件中")
执行程序后,在文件夹内可以看到刚才生成的 csv 文件。打开文件,可以看到共有 3829 条归属地编码信息,包含 6 位编码对应的省级、地级、县级行政区。
使用 pandas 库实现,代码如下:
import requests
import pandas as pd
content_list = []
url = "https://cdn.uukit.com/data/idCardData.json"
data = requests.get(url).json()
# 遍历 JSON 数据
for key, value in data.items():
content_list.append(
{'编码': key, '省级行政区': value['p'], '地级行政区': value['a'], '县级行政区': value['d'], '备注': value['i']})
content = pd.DataFrame(content_list)
content.to_csv("身份证归属地查询表2.csv", mode='a', encoding='utf-8', index=False)
print("保存成功")
import requests
import pandas as pd
import sqlite3
content_list = []
url = "https://cdn.uukit.com/data/idCardData.json"
data = requests.get(url).json()
# 遍历 JSON 数据
for key, value in data.items():
content_list.append(
{'编码': key, '省级行政区': value['p'], '地级行政区': value['a'], '县级行政区': value['d'], '备注': value['i']})
content = pd.DataFrame(content_list)
# 创建一个SQLite数据库连接
conn = sqlite3.connect('id-card.db')
# 将DataFrame写入SQLite数据库
content.to_sql('id-card_table', conn, if_exists='replace', index=False)
# 提交更改并关闭连接
conn.commit()
conn.close()
使用 SQLiteStudio 图形化工具,连接刚才生成的id-card.db
数据库文件,打开id-card_table
表,就可以直观的看到刚才写入到数据库中的数据,3829 条归属地数据已经保存到 SQLite 数据库。
以上就是“Python实战:获取身份证前6位归属地”的全部内容,希望对你有所帮助。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、Python练习题
检查学习结果。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
最后祝大家天天进步!!
上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。