手机号归属地运营商查询-JAVA
手机归属地运营商查询
简介
根据手机号确定手机号运营商即归属地, 支持包括虚拟运营商的中国大陆手机号查询.
Github: https://github.com/EeeMt/phone-number-geo
数据源
数据源dat
文件来自xluohome/phonedata提供的数据库, 会不定时同步更新数据库
当前数据源版本: 201911 最新版本请移步https://github.com/EeeMt/phone-number-geo
maven
可以通过maven引入工程:
<dependency><groupId>me.ihxq.projects</groupId><artifactId>phone-number-geo</artifactId><version>x.x.x-xxxxxx</version>
</dependency>
在这里获取最新版号.
示例
class Demo1{public static void main(String[] args){PhoneNumberLookup phoneNumberLookup = new PhoneNumberLookup();PhoneNumberInfo found = phoneNumberLookup.lookup("18798896741").orElseThrow(RuntimeException::new);}
}
class Demo2{public static void main(String[] args){PhoneNumberLookup phoneNumberLookup = new PhoneNumberLookup();String province = phoneNumberLookup.lookup("130898976761").map(PhoneNumberInfo::getAttribution).map(Attribution::getProvince).orElse("未知");}
}
class Demo3{public static void main(String[] args){PhoneNumberLookup phoneNumberLookup = new PhoneNumberLookup();PhoneNumberInfo found = phoneNumberLookup.lookup("18798896741").orElseThrow(RuntimeException::new);found.getNumber(); // 18798896741found.getAttribution().getProvince(); // 贵州found.getAttribution().getCity(); // 贵阳found.getAttribution().getZipCode(); // 550000found.getAttribution().getAreaCode(); // 0851found.getIsp(); // ISP.CHINA_MOBILE}
}
对比libphonenumber
对比libphonenumber, libphonenumber
有更多功能, 包括验证号码格式, 格式化, 时区等,
但基于xluohome/phonedata提供的dat
数据库能囊括包含虚拟运营商号段的更多号段.
至于速度, 未做比较, 但本仓库实现已足够快, 选择时建议更多权衡易用性, 功能和数据覆盖范围.
Benchmark
工程里已内置四种算法, 跑分情况如下:
Benchmark Mode Cnt Score Error Units
BenchmarkRunner.anotherBinarySearchLookup avgt 5 390.483 ± 3.544 ns/op
BenchmarkRunner.binarySearchLookup avgt 5 386.357 ± 3.739 ns/op
BenchmarkRunner.prospectBinarySearchLookup avgt 5 304.622 ± 1.899 ns/op
BenchmarkRunner.sequenceLookup avgt 5 1555265.227 ± 48814.379 ns/op
性能测试源码位于me.ihxq.projects.pna.benchmark.BenchmarkRunner
, 基于JMH
测试样本在每次启动时生成, 供所有算子测试使用, 所以每次测试结果有差异, 结果可用于横向比较, 不适用于纵向比较.
默认使用的是me.ihxq.projects.pna.algorithm.BinarySearchAlgorithmImpl
,
可以通过new PhoneNumberLookup(new AlgorithmYouLike());
使用其他算法;
也可自行实现算法, 实现me.ihxq.projects.pna.algorithm.LookupAlgorithm
即可.
Github: https://github.com/EeeMt/phone-number-geo
如若有帮助, 请点个Star.
手机号归属地运营商查询-JAVA相关推荐
- 号码归属地及运营商查询工具
号码归属地及运营商查询工具 import com.google.i18n.phonenumbers.NumberParseException; import com.google.i18n.phone ...
- python获取手机号码归属地_Python批量获取并保存手机号归属地和运营商的示例
从Excel读取一组手机号码,批量查询该手机号码的运营商和归属地,并将其追加到该记录的末尾. import requests import json import xlrd from xlutils. ...
- python自动获取号码归属地_Python批量获取并保存手机号归属地和运营商的示例
从Excel读取一组手机号码,批量查询该手机号码的运营商和归属地,并将其追加到该记录的末尾.SAb免费资源网 import requests import json import xlrd from ...
- 通过python获取自己的手机话费_Python批量获取并保存手机号归属地和运营商的示例...
从Excel读取一组手机号码,批量查询该手机号码的运营商和归属地,并将其追加到该记录的末尾. import requests import json import xlrd from xlutils. ...
- 调用第三方API ,实现手机号码归属地及运营商查询
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 运行结果: 中国电信 西双版纳 西双版纳,中国电信 代码: import java.io.Buffe ...
- 手机号码归属地及运营商查询
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. import java.io.InputStreamReader; import java.net. ...
- 老板丢给我一堆电话号码,让我挨个进行归属地、运营商查询
如果觉得文章写得好,如果你想要博客文章中的数据,请关注公众号:[数据分析与统计学之美],添加作者[个人微信],进群和作者交流! 目录 1.写作目的 2.判断电话号码是否合法 1)移动 ...
- 2022年最新IP归属地运营商地区经纬度查询API接口分享
请求方式:http get 返回格式:json 请求示例:https://www.345api.com/api/ipv2/query?key=key&ip=ip地址 { "code& ...
- Java判断手机号对应的运营商
实现代码: 常量类Const /*** 中国电信号码格式验证 手机段: 133,153,180,181,189,177,1700,173,199**/ public static final Stri ...
最新文章
- python信用卡违约_Python信用卡验证
- ckeditor富文本编辑器的基本配置设置:
- 博客园首页博问闪存新随笔联系订阅管理 随笔- 252 文章- 0 评论- 45 HashPasswordForStoringInConfigFile中的Md5算法并非常用的Md5算法...
- 阿里财报:云计算年度营收133亿,季度营收连续12个季度翻番
- android 8.0 调系统拍照_Android通知栏微技巧,8.0系统中通知栏的适配
- SAP BW系统日常维护日常工作及常见的Infopackage错误
- ADO.NET中在C/S模式中使用的连接池
- 网络管理人员的未来?
- 【转载】使用tf.py_func函数增加Tensorflow程序的灵活性
- 计算机时区找不到北京,系统缺少北京时区的解决办法
- uva10817 dijkstra
- erp的术语-jde系统
- 腾讯云租用CentOS 7.2 64
- 将加密的pdf转化成word
- USB PD快充协议
- 对比 GA 、PSO 、DE三种算法 求解连续优化问题的性能
- java接口保存文件到本地指定目录下
- thinkphp3.2 微信 Native扫码支付功能
- 一周上榜新书:强化学习、深度学习最受程序员关注
- Simulation?Emulation?模拟?仿真?