CN-NumberGenerate
Project description
NumberGenerate
虚拟信息生成器,提供身份证号码、电话号码、姓名等数据的生成和保存功能。支持多种自定义参数设置,以适应不同的使用场景。
pip install NumberGenerate
开发环境
-
python 3.8.0
-
windows11
-
第三方库详见 requirements.txt
免责声明
本工具生成的数据均为虚构,仅供测试和学习使用。用户不得将上述内容用于商业或非法用途。使用本工具生成的数据,用户需自行承担相关风险和责任。通过使用本项目代码,用户同意遵守此使用条款,并理解由此带来的任何风险与本人或开发者无关。
NumberGenerate.IDCardGenerate
使用的区域代码数据库: db/area_code.db - city_data
类属性
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| db_function | Function | from NumberGenerate.db import get_area_codes | 本地数据库查询函数 |
| START_YEAR | Int | 1900 | 生成起始年份 |
| END_YEAR | Int | datetime.now().year + 1 | 生成终止年份 |
| CONSTELLATIONS | String | ... | 星座表 |
示例代码
import NumberGenerate
IDCard = NumberGenerate.IDCardGenerate()
# 自定义查询接口(可选参数)
# 参数说明:
# address: 地区,格式为 "省|市|区"
# 返回值: [区域代码...]
IDCard.db_function = lambda address: ["320505"]
# 设定起始年份
IDCard.START_YEAR = 1900
# 设定终止年份
IDCard.END_YEAR = 2000
NumberGenerate.IDCardGenerate().get_id_card
身份证号码生成
| 属性 | 类型 | 默认值 | 是否必填 | 说明 |
|---|---|---|---|---|
| id_card | String | 无 | 是 | 模糊身份证号 |
| address | String | "||" | 否 | 地区,格式为 "省|市|区" |
| gender | String | None | 否 | 性别,可选为"男"或"女" |
| constellation | String | "未知星座" | 否 | 星座,如"狮子座" |
| zodiac | String | "未知生肖" | 否 | 生肖,如"龙" |
| lunar_birthday | String | None | 否 | 农历的公历生日 |
示例代码
import NumberGenerate
IDCard = NumberGenerate.IDCardGenerate()
result = IDCard.get_id_card(
id_card="44****2000******28",
address="广东|揭阳|",
gender="女",
constellation="狮子座",
zodiac="龙"
)
示例输出
# 调用方法后,返回结果
result = ['445201200007230328', '445201200007231128', '445201200007233828', '445201200007234628', ...]
NumberGenerate.IDCardGenerate().generator_date
年份日期生成
| 属性 | 类型 | 默认值 | 是否必填 | 说明 |
|---|---|---|---|---|
| date_str | String | 无 | 是 | 模糊年份日期 - "****[年]**[月]**[日]" |
| constellation | String | "未知星座" | 否 | 星座 |
| zodiac | String | "未知生肖" | 否 | 生肖 |
| lunar_birthday | String | None | 否 | 农历的公历生日 |
示例代码
import NumberGenerate
IDCard = NumberGenerate.IDCardGenerate()
result = IDCard.generator_date(
'20******',
lunar_birthday="20240513",
constellation="金牛座",
zodiac="马"
)
示例输出
# 调用方法后,返回结果
result = ['20020517', '20140504']
NumberGenerate.PhoneGenerate()
使用的号段数据库 db/area_code.db - phone_data
类属性
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| api_function | Function | from NumberGenerate import api | 在线API查询 |
| db_function | Function | from NumberGenerate import db | 本地数据库查询函数 |
| is_db | Bool | True | 是否开启数据库查询,默认开启.关闭才会使用在线查询 |
示例代码
import NumberGenerate
Phone = NumberGenerate.PhoneGenerate()
# 关闭离线(本地数据库)查询
Phone.is_db = False
# 更改自定义查询接口
'''
[必选]:param incomplete_phone: 模糊手机号
[可选]:param city_name: 市
:return: [号段...]
'''
Phone.api_function = lambda incomplete_phone, city_name: ["1588854"]
from NumberGenerate import api
# 运营商号段更换
# {"移动": ["134", "135", ...],"联通": ["130", "131", ...], "电信": ["133", "149", ...]}
api.PHONE_ISP_CODES["移动"].append("188")
# 更换 查号吧
Phone.api_function = api.cha_hao_ba
# 更换 手机号段网 [默认是此手机号段网]
Phone.api_function = api.tel_phone
NumberGenerate.PhoneGenerate().get_phone
手机号码生成
| 属性 | 类型 | 默认值 | 是否必填 | 说明 |
|---|---|---|---|---|
| incomplete_phone | String | 无 | 是 | 模糊手机号 |
| city_name | String | None | 否 | 地区名,格式为 省或市名 |
| isp | String | None | 否 | 运营商 |
示例代码
import NumberGenerate
Phone = NumberGenerate.PhoneGenerate()
result = Phone.get_phone(
city_name="毕节",
incomplete_phone="13*****3434",
isp="联通"
)
示例输出
# 调用方法后,返回结果
result = [13017063434, 13035543434, 13048543434, 13048553434, ...]
NumberGenerate.PhoneGenerate().generate_phone_area
手机号段生成
| 属性 | 类型 | 默认值 | 是否必填 | 说明 |
|---|---|---|---|---|
| incomplete_phone | String | 无 | 是 | 模糊手机号 |
| city_name | String | None | 否 | 地区名,格式为 省或市名 |
| isp | String | None | 否 | 运营商 |
示例代码
import NumberGenerate
Phone = NumberGenerate.PhoneGenerate()
result = Phone.generate_phone_area(
city_name="北京",
incomplete_phone="1*******434",
isp="虚拟"
)
示例输出
# 调用方法后,返回结果
result = ['1621002', '1621003', '1621004', '1621001']
NumberGenerate.NameGenerate()
生成姓名,支持未知,拼音,缩写,中文多种传参方式
类属性
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| CommonlyUsedSurname | List | Name.CommonlyUsedSurname | 百家姓 |
实例化传参
| 属性 | 类型 | 默认值 | 是否必填 | 说明 |
|---|---|---|---|---|
| rare_word | Bool | False | 否 | 生僻字 |
| common_words | Bool | True | 否 | 常用字 |
| secondary_common_words | Bool | True | 否 | 次要常用字 |
| all_words | Bool | False | 否 | 所有汉字 |
示例代码
import NumberGenerate
Name = NumberGenerate.NameGenerate(
rare_word=False,
common_words=True,
secondary_common_words=True,
all_words=False
)
NumberGenerate.NameGenerate().add_words
添加未知汉字
| 属性 | 类型 | 默认值 | 是否必填 | 说明 |
|---|---|---|---|---|
| words | List | 无 | 是 | 传入的汉字列表. 如果内置的汉字并没有包含你需要的 |
示例代码
import NumberGenerate
Name = NumberGenerate.NameGenerate()
Name.add_words(["汉", "字"])
NumberGenerate.NameGenerate().get_names
姓名生成
| 属性 | 类型 | 默认值 | 是否必填 | 说明 |
|---|---|---|---|---|
| name | List | 无 | 是 | 姓名列表 |
示例代码
import NumberGenerate
Name = NumberGenerate.NameGenerate()
result = Name.get_names(['ou', '阳', 'na', '*'])
示例输出
# 调用方法后,返回结果
result = ['殴阳捺蘸', '殴阳捺镶', '殴阳捺瓤', '殴阳捺矗', ...]
NumberGenerate.SaveFile()
数据储存
类属性
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| current_dir_path | String | os.getcwd() | 文件储存默认路径 |
示例代码
import NumberGenerate
saveFile = NumberGenerate.SaveFile()
# 更改储存路径
saveFile.current_dir_path = 'C:/'
Generate.NameGenerate().generate_vcf
vcf文件生成
| 属性 | 类型 | 默认值 | 是否必填 | 说明 |
|---|---|---|---|---|
| numbers | List | 无 | 是 | 储存号码 |
| output_file | String | "data.txt" | 否 | 储存路径 |
示例代码
import NumberGenerate
saveFile = NumberGenerate.SaveFile()
saveFile.generate_vcf(['13812344321', '13812344322', ...])
Generate.NameGenerate().generate_txt
txt文件生成
| 属性 | 类型 | 默认值 | 是否必填 | 说明 |
|---|---|---|---|---|
| numbers | List | 无 | 是 | 储存号码 |
| output_file | String | "contacts.vcf" | 否 | 储存路径 |
示例代码
import NumberGenerate
saveFile = NumberGenerate.SaveFile()
saveFile.generate_txt(['data1', 'data2'])
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file NumberGenerate-0.1.3.tar.gz.
File metadata
- Download URL: NumberGenerate-0.1.3.tar.gz
- Upload date:
- Size: 4.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1336d9db85b659a6527e7f35bc36d3877d32ed3059b7adbfb7e88eceb98f03a0
|
|
| MD5 |
ab584da72663672505375ab004789dd1
|
|
| BLAKE2b-256 |
166b9fa31d93e50399689c48adee310b11c028db7451fe12f4468b3783d55a98
|
File details
Details for the file NumberGenerate-0.1.3-py3-none-any.whl.
File metadata
- Download URL: NumberGenerate-0.1.3-py3-none-any.whl
- Upload date:
- Size: 4.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff9e76563a26ac56d3a820a072c762568c56136db7320bf9c217ca5fd5357230
|
|
| MD5 |
a41e04754a5f0da5f15b1e2943353f8d
|
|
| BLAKE2b-256 |
a3330d7a9f86534ee199493c5f3f096f1cae3a1d3b4172e5de22c613fa3acaeb
|