首页 > 编程知识 正文

Python身份证号码归属地查询

时间:2023-11-21 21:44:45 阅读:293059 作者:EVDJ

在日常生活中,我们可能经常需要查询一个人的身份证号码的归属地信息,这时候用到Python身份证号码归属地查询是非常方便的。以下是详细介绍。

一、身份证号码的规则

身份证号码是由17位数字和一个校验码(实际上校验码可能为“X”)组成的。前6位是所在地区的行政区划代码,第7~14位是出生年月日,第15~17位是顺序码,第18位是校验码。其中,前两位表示该身份证号码所在省份,第三和第四位表示所在城市或区县,第五和第六位表示所在区或县。

二、身份证号码及归属地查询流程

根据身份证号码规则,了解完身份证号码的构成后,我们就可以通过以下步骤进行归属地查询:

  1. 输入身份证号码
  2. 提取前6位行政区划代码
  3. 将行政区划代码匹配对应的省份和城市
  4. 返回省份和城市信息

三、身份证号码查询代码示例

以下是基于Python的身份证号码归属地查询代码示例:

import requests
import re

def find_addr(id_num):
    url = "https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php"
    query = {
        'resource_id': '6006',
        'query': 'idcard',
        'cardNum': id_num
    }
    try:
        r = requests.get(url, params=query)
        addr = re.findall('"city":"(.*?)".*"province":"(.*?)"', r.text)[0]
    except:
        addr = "未能找到地址信息"
    return addr[1] + addr[0]

id_num = input("请输入身份证号码:")
print(f"该身份证号码归属地为:{find_addr(id_num)}")

四、代码解析

代码中主要使用的是requests和re库。将身份证号码传给百度接口,接口会返回一个json格式的数据,其中包含了身份证号码的归属地信息,通过re库提取出来并返回。

五、注意事项

身份证号码归属地查询需要联网查询,因此请确保网络连接畅通。此处使用的百度接口是免费的,有使用次数限制,如果遇到次数限制,则无法继续查询。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。