前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python实现手机号归属地查询

python实现手机号归属地查询

原创
作者头像
shigen
发布2024-02-29 21:08:19
2030
发布2024-02-29 21:08:19
举报

shigen坚持更新文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。

手机上突然收到了某银行的短信提示,看了一下手机的位数,正好是11位。我一想,这不就是标准的手机号码吗?于是一个想法涌上心头——用python的库实现查询手机号码归属地查询自由。因为熟悉shigen的伙伴都知道,之前出过这样的一篇文章:程序员必备的IP查询工具

原文
原文

那实现的效果如下:

实现效果
实现效果

注:电话和IP均为模拟值,没有实际的参考价值。

接下来讲一下代码的实现:

电话的归属地查询主要用到的库是phone,在pip上显示是最近更新的:

pip-phone
pip-phone

官网的介绍也是极其的简单:

phone的介绍
phone的介绍

这里我们直接自己写代码验证:

代码语言:python
复制
from phone import Phone
'''
官方文档:https://github.com/ls0f/phone
pip地址:https://pypi.org/project/phone
'''

p = Phone()


def parse_phone_num(phone_num: str) -> dict:
    return p.find(phone_num)

最后和之前的IP地址查询的代码做一个综合,实现命令行参数解析调用:

代码语言:python
复制
import argparse

from phoneUtil import parse_phone_num
from xdbSearcher import getIpRegin

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='通过电话号码或IP地址查询归属地信息')
    parser.add_argument('-p', dest='phone', help='通过电话号码查询归属地')
    parser.add_argument('-i', dest='ip', help='通过IP地址查询归属地')
    args = parser.parse_args()

    if args.phone:
        phone_info = parse_phone_num(args.phone)
        print(f'{args.phone}:{phone_info}')
    if args.ip:
        ip_info = getIpRegin(args.ip)
        print(f'{args.ip}:{ip_info}')

注:代码的命名规范上还是存在一些问题。

最后还是和之前一样,在系统的环境变量里加上alias,就可以在任何地方使用了。

代码语言:shell
复制
python3 ~/PycharmProjects/shigen-util/iputil/main.py $1

工具类的文档也是很详细,可以轻松的使用:

工具类文档
工具类文档

以上就是今天分享的全部内容了,觉得不错的话,记得点赞 在看 关注支持一下哈,您的鼓励和支持将是shigen坚持日更的动力。

shigen一起,每天不一样!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
短信
腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com