C# | 【完全开源】手机号码归属地查询,一秒内百万次查询

简介: 这个开源项目是一个.NET库,可以通过手机号码获取号码归属地信息,包括运营商、国家、省份、城市、邮政编码、区号等信息。该库加载了一个包含46万条数据的“中国手机号归属地信息”数据集,并实现了高速查询。在我的7年老笔记本上执行一百万次查询耗时不足一秒。

image.png

C# | 【完全开源】手机号码归属地查询,一秒内百万次查询

@[toc]

简介

这个开源项目是一个.NET库,可以通过手机号码获取号码归属地信息,包括运营商、国家、省份、城市、邮政编码、区号等信息。
该库加载了一个包含46万条数据的“中国手机号归属地信息”数据集,并实现了高速查询。在我的7年老笔记本上执行一百万次查询耗时不足一秒。

快速上手

以查询中国大陆的手机号码归属地信息为例:

在NuGet页面中勾选预发行版本并搜索 ApeFree.Phone2Location.CN ,点击安装。

查询手机号码归属地的源码如下:

  // 创建数据库
  var db = PhoneDatabase.Factory.CreateChinaPhoneDatabase();

  // 通过手机号码获取归属地信息
  var result = db.GetLocationByPhone("13500008888");

  if (result == null)
  {
   
   
    Console.WriteLine("未查询到结果");
  }
  else
  {
   
   
    // 打印显示
    Console.WriteLine($"国家:{result.Country}\r\n省份:{result.Province}\r\n城市:{result.City}\r\n运营商:{result.TelecomOperator}\r\n区号:{result.AreaCode}\r\n邮编:{result.PostalCode}");
  }

运行上述代码将输出如下结果:

国家:中国
省份:广东
城市:广州
运营商:移动
区号:020
邮编:510000

原理

在实例化的时候就加载“中国手机号归属地信息”数据集,并计算出索引的数量和偏移地址。
在查询时,使用二分法查询号码信息所处的偏移地址,再从偏移地址使用流读取详细信息,并构造查询结果。
之所以能够一秒内百万次查询,是因为其使用了二分法进行查询,并且使用了流进行数据读取和处理。

结束语

代码开源在:https://github.com/landriesnidis/ApeFree.Phone2Location,希望能够帮助到需要查询手机号码归属地信息的人。如果您对该项目有任何建议或意见,欢迎在GitHub上提issue或pull request。如果您觉得该项目对您有帮助,也欢迎在GitHub上为该项目点个赞。

相关文章
|
2月前
|
自然语言处理 C# Windows
C#开源免费的Windows右键菜单管理工具
C#开源免费的Windows右键菜单管理工具
|
2月前
|
Linux C# 开发工具
C#开源的一款友好的.NET SDK管理器
C#开源的一款友好的.NET SDK管理器
|
2月前
|
IDE C# 开发工具
一个开源轻量级的C#代码格式化工具(支持VS和VS Code)
一个开源轻量级的C#代码格式化工具(支持VS和VS Code)
107 6
|
9天前
|
存储 缓存 C#
C#语言编写的仅有8KB大小的简易贪吃蛇开源游戏
C#语言编写的仅有8KB大小的简易贪吃蛇开源游戏
C#语言编写的仅有8KB大小的简易贪吃蛇开源游戏
|
9天前
|
机器学习/深度学习 算法 搜索推荐
一个开源且全面的C#算法实战教程
一个开源且全面的C#算法实战教程
|
1月前
|
算法 C#
C#开源实用的工具类库,集成超过1000多种扩展方法
C#开源实用的工具类库,集成超过1000多种扩展方法
分享:2秒快速查询40万手机号码归属地,批量手机号码归属地查询可以导出excel表格,WPS表格查询手机号码归属地怎么操作,批量手机号码归属地批量查询软件,批量号码查询按省份和城市分类,按运移动号码电信号码联通号码分类整理
本文介绍了如何批量快速查询手机号码归属地并进行分类。首先,通过提供的百度网盘或腾讯云盘链接下载免费查询软件。其次,开启软件,启用复制粘贴功能,直接粘贴号码列表并选择高速查询。软件能在极短时间内(如1.76秒内)完成40多万个号码的查询,结果包括归属地、运营商、邮箱和区号,且数据准确。之后,可直接导出数据至表格,若数据超过100万,可按省份、城市及运营商分类导出。文章还附带了操作动画演示,展示全程流畅的处理大量手机号码归属地查询的过程。
分享:2秒快速查询40万手机号码归属地,批量手机号码归属地查询可以导出excel表格,WPS表格查询手机号码归属地怎么操作,批量手机号码归属地批量查询软件,批量号码查询按省份和城市分类,按运移动号码电信号码联通号码分类整理
|
2月前
|
C# Windows
C#开源的两款功能强大的录屏神器
C#开源的两款功能强大的录屏神器
|
2月前
|
算法 安全 C#
C#版开源免费的Bouncy Castle密码库
C#版开源免费的Bouncy Castle密码库
|
2月前
|
SQL 开发框架 .NET
C#进阶-LINQ表达式之GroupBy分组查询
本篇文章我们将演示LINQ扩展包基础语法里的GroupBy分组查询,并实现投影等实际操作中常用的类型转换手法。目前LINQ支持两种语法,我会在每个案例前先用大家熟知的SQL语句表达,再在后面用C#的两种LINQ语法分别实现。LINQ语法第一次接触难免感到陌生,最好的学习方式就是在项目中多去使用,相信会有很多感悟。
141 0