Skip to content

asaotomo/makephonedict

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

手机号字典生成器V1.3

这个项目可以做两件事:

  • 生成指定城市、指定运营商的手机号字典
  • 查询手机号归属地(单个/批量)
image

如果你是第一次用,建议直接看下面的「5分钟上手」。


5分钟上手(小白版)

第一步:运行程序

python3 makephonedict.py

你会看到菜单:

1. 📱 生成手机号字典(推荐)
2. 📊 查看号段库统计信息
3. 🔄 重新构建本地号段库(phone.dat -> CSV)
4. ⚡ 使用上次配置重新生成
5. 🔎 查询手机号归属地(支持批量)
6. ⚙️ 更新设置(自动更新/检查间隔)
0. 🚪 退出程序

第二步:先检查号段库是否正常(可选但推荐)

输入 2 看统计,能看到总号段数和各运营商条数就表示数据可用。

如果统计异常或为空,输入 3 重建号段库。

第三步:生成一份测试字典

输入 1,按提示走:

[0/3] 生成模式:1随机(默认) / 2顺序,输入 b 返回主菜单: 1
[1/3] 请输入要生成的手机号数量(默认1000,输入 b 返回主菜单): 20
[2/3] 请选择要生成的运营商: 2,3
[3/3] 请选择城市
[+] 请输入城市: 上海,合肥
[+] 确认使用以上城市?: y
[+] 确认开始生成?: y

完成后会在当前目录生成:

  • telephone_number_dict.csv

0. 运行前提

  • Python 3.8+
  • 项目目录下至少有:
    • makephonedict.py
    • phone_segments.csv(可通过菜单 3 重建)

1. 菜单功能说明

1 生成手机号字典

按「模式 -> 数量 -> 运营商 -> 城市 -> 确认」流程生成。

2 查看号段库统计

查看当前 phone_segments.csv 的整体情况(总号段、城市数、运营商分布)。

3 重新构建本地号段库

会基于 phone.dat 重建 phone_segments.csv

4 使用上次配置重新生成

复用上次的模式、运营商、城市,你只需要改数量或直接回车。

5 查询手机号归属地

支持两种输入方式:

  • 手工输入(逗号/空格/换行分隔)
  • 读取 txt/csv 文件批量查询

6 更新设置

可在菜单里配置:

  • 自动更新开关
  • 更新检查间隔(小时)

0 退出程序


2. 生成手机号字典详解(菜单 1)

2.1 生成模式

  • 1 随机(默认)
  • 2 顺序

2.2 运营商输入

支持序号多选,比如:

  • 2
  • 2,3
  • 1-3
  • all(全选)

2.3 城市输入

两种方式:

  • 直接输入:成都,上海,合肥
  • 输入 ? 进入搜索后按序号选

输入后程序会先回显识别结果,再让你确认,避免误选。

2.4 输出文件

生成结果写入 telephone_number_dict.csv,表头:

序号,手机号,手机号归属地,命中号段

3. 归属地查询详解(菜单 5)

3.1 手工查询示例

[+] 请选择方式(1手工输入,2读取文件,默认1): 1
[+] 请输入手机号: 13008100000 19999999999

[查询结果]
- 13008100000: 成都中国联通
- 19999999999: 未命中本地号段库

3.2 文件批量查询示例

[+] 请选择方式(1手工输入,2读取文件,默认1): 2
[+] 请输入文件路径(支持 txt/csv): ./query_phones.txt
[*] 已从文件读取 300 个待查询号码。

支持导出查询结果 CSV:

[+] 是否导出查询结果到CSV?(y确认,其他不导出): y
[+] 请输入导出文件路径(默认 query_result_YYYYmmdd_HHMMSS.csv):

导出列:

手机号,手机号归属地,查询状态

4. 设置文件说明

app_settings.json

用于控制更新策略:

{
  "auto_update": true,
  "check_interval_hours": 24
}

说明:

  • auto_update: 是否自动检测更新
  • check_interval_hours: 检查间隔(小时,>=0)

更新检测元数据仅在内存中,不落盘。

last_run_config.json

运行过程中自动创建,用于“上次配置快速生成”。


5. 号段库格式要求(phone_segments.csv

必须包含表头:

segment,province,city,isp
1301234,四川,成都,中国联通
1335678,四川,成都,中国电信
1394321,四川,成都,中国移动

字段要求:

  • segment:7位数字
  • isp 支持值:
    • 中国移动
    • 中国联通
    • 中国电信
    • 中国电信虚拟运营商
    • 中国联通虚拟运营商
    • 中国移动虚拟运营商

6. 常见问题

Q1:提示“城市未找到”

  • 先输入更完整城市名(如 上海 而不是
  • 或在城市步骤输入 ? 使用搜索选择

Q2:想回到上一步

  • 在支持回退的输入步骤输入 b

Q3:程序中断了怎么办

  • 直接重新运行 python3 makephonedict.py 即可

Q4:想重置生成配置

  • 删除 last_run_config.json 后重启程序

About

手机号字典生成器V1.3 是一个本地离线工具,可按城市与运营商批量生成手机号字典,并支持单号/批量归属地查询。项目基于本地号段库运行,不依赖在线接口,支持随机或顺序生成、结果排序导出、批量查询文件输入与一键复用上次配置。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages