【小知识点】Python随机生成 Phone 号码,测试用~
Python 随机生成 Phone 号码
- 随机手机号码
- Python 生成一亿个手机号
- 用 time 模块生成
随机手机号码
在爬虫实战中,有一项数据是不能采集的,这个数据就是电话号,所以本篇博客补充这个小知识点,用 Python 随机生成电话号,便于后续使用。
在 Python 中生成电话号码,你可以使用 random
模块来生成随机的前缀和后缀,再将它们组合起来即可。
示例代码如下所示:
import randomdef generate_phone_number():# 随机生成电话号码的前缀prefix = random.choice(['130', '131', '132', '133', '134', '135', '136', '137', '138', '139','150', '151', '152', '153', '155', '156', '157', '158', '159','180', '181', '182', '183', '184', '185', '186', '187', '188', '189'])# 随机生成电话号的后缀suffix = ''.join(random.choice(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']) for _ in range(8))# 将前缀和后缀组合起来,生成电话号return prefix + suffixphone_number = generate_phone_number()
print(phone_number)
然后我们将上述代码封装到爬虫训练场中,形成一个新的 API 接口,便于后续使用。
在 Python Flask 中返回 JSON 数据,用到 jsonify()
函数,它可以将 Python 字典转换为 JSON 格式的字符串,作为 HTTP 响应主体返回。
@api.route('/phone')
def phone():def generate_phone_number():# 随机生成电话号的前缀prefix = random.choice(['130', '131', '132', '133', '134', '135', '136', '137', '138', '139','150', '151', '152', '153', '155', '156', '157', '158', '159','180', '181', '182', '183', '184', '185', '186', '187', '188', '189'])# 随机生成手机号码的后缀suffix = ''.join(random.choice(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']) for _ in range(8))# 将前缀和后缀组合起来,生成电话号return prefix + suffixphone_number = generate_phone_number()phone = {'phone': phone_number}return jsonify(phone)
该接口已经部署到 爬虫训练场,欢迎测试使用。
Python 生成一亿个手机号
这是群友提出的一个小诉求,他希望能用 Python 快速的生成大量手机号。
import random
import string
def create_phone(num):all_phone_nums = set()while True:start = random.choice(['186', '187', '155'])end = ''.join(random.sample(string.digits, 8)) # 随机生成后8位数all_phone_nums.add(f'{start}{end}') # 拼接手机号print(all_phone_nums)if len(all_phone_nums) >= num: # 死循环停止条件breakcreate_phone(10000 * 10000)
上述代码用到了 string.digits
,这是一个字符串常量,其余常量清单如下。
string.digits
:包含数字 0~9 的字符串;string.ascii-letters
:包含所有字母;string.lowercase
:包含所有小写字母的字符串;string.printable
:包含所有可打印字符的字符串;string.punctuation
:包含所有标点的字符串;string.uppercase
:包含所有大写字母的字符串。
都是随机生成的,打不通的哦~
用 time 模块生成
实战中要想得到随机数字,还可以使用时间戳实现,例如下述代码
import time
import randomdef get_phone():mobiles = ['180', '181', '182', '183', '184']number = str(int(time.time()))[2:]mobile = random.choice(mobiles) + numberreturn mobileprint(get_phone())
因为时间戳每次都不相同,所有可以用作随机生成号码。
【小知识点】Python随机生成 Phone 号码,测试用~相关推荐
- Python随机生成电话号码号码段分析
''' 搜集到以下手机号码,当然这也不全,不过也可以分析出一些规律了 中国电信号段:133,153, 180,181,189,170,173, 177,149 中国联通号段:130,131,132,1 ...
- python随机生成一个地区地址_Python生成随机MAC地址
利用python代码生成一个随机的MAC地址,使用python网络编程时或可用上,如果使用scapy模块则可直接利用RandMAC()函数来生成MAC. python 复制代码 代码如下: impor ...
- python 随机生成大乐透号码
python 随机生成大乐透号码 自己写来买彩票用的,如下: 自己写来买彩票用的,如下: import randomL1 = [ i+1 for i in range(35)] L2 = [ i+1 ...
- python随机生成30个8_Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例...
上代码: 环境:Python3 import random,string s=string.ascii_letters+string.digits print(s) n={''.join(random ...
- 怎样用python随机生成100内的100个奇数_python怎么随机生成奇数_后端开发
PHP每15分钟自动更新网站地图(减少服务器消耗)_后端开发 sitemap.php为页面文件,sitemap.html为sitemap.php的克隆版,监控宝设置定时监控timeSitemap.ph ...
- python随机生成验证码_Python生成随机验证码的两种方法
# -*- coding: utf-8 -*- import random def generate_verification_code_v2(): ''' 随机生成6位的验证码 ''' code_l ...
- python随机生成大写字母_python随机生成大小写字母数字混合密码(仅20行代码)
用简单的方法生成随机性较大的密码 仅用20行代码随机生成密码 核心思路:利用random模块 random模块随机生成数字,大小写字母,循环次数 while循环+随机生成的循环次数-->随机pl ...
- python随机生成奇数_python怎么随机生成奇数_后端开发
PHP每15分钟自动更新网站地图(减少服务器消耗)_后端开发 sitemap.php为页面文件,sitemap.html为sitemap.php的克隆版,监控宝设置定时监控timeSitemap.ph ...
- python随机生成数据库数据之一步一步教你数据造假成为道德主席-取名器-.-xswl-pydbgen || Faker
简介 自己为了测试框架的正确性,就需要点数据做测试,一人扛下前后端.....不能重复的叫什么科学,丢人 开始 原理 基本上每种编程语言都自带伪随机数生成器,因此可以随机产生整形.浮点型数据,借助数组思 ...
最新文章
- C语言标准库函数getenv的实现
- ASP.NET购物车Cookie获取,创建,添加,更新,删除的用法
- c# 链接mongDB集群实战开发
- 水晶报表在浏览时,工具栏上的图标变成的X
- nginx和apache的伪静态区别
- postgresql 重启记录_PostgreSQL 高可用:PostgreSQL复制和自动故障转移
- Build tool
- centos查看yum上jdk的版本
- 研究人性弱点的黑客?聊聊社会工程学与网络安全
- Excel如何随机抽取姓名
- Win10更改用户账户、appdata和ProgramData的默认存储路径
- 基于C++的高性能http框架cinatra及其web框架示例feather介绍及开发演示
- 用Matlab搞了个小工具,以后给你女朋友的证件照换底色再也不用发愁了
- [组图]国外专家谈游戏制作
- python广告营销平台_python微信开发平台
- 使用linux集体升级系统,1.3. 利用mtd工具升级Linux系统
- iceberg-flink 十:flink 窗口,事件时间,处理时间。
- 理解ZBrush中的笔触
- revit模型怎么在手机上看_revit手机浏览器有哪些?怎样在浏览器中展示自己的Revit模型?...
- 2021蓝桥杯省赛b题解