领导要我6点下班前创建1000个有效的手机号,现在5点半了!random模块10分钟搞定!

294 篇文章 6 订阅
1 篇文章 0 订阅

前言

  软件测试工作中,经常需要用到很多手机号进行注册或其它操作,如何生成有效有手机号呢?我们可以使用random模块生成手机号

python脚本生成随机手机号码

#! /usr/bin/python3

# @Time    : 2020/8/8 10:40
# @Author  : 测试小小小

import random

def greatphone():
    """生成随机手机号"""

    # choice方法随机抽取列表中的手机号码段
    str_start=random.choice(['135','136','138', "186"])
    # sample方法,列表中随机抽取8个尾数
    str_end = ''.join(random.sample('0123456789', 8))
    phone = str_start + str_end
    # 返回的手机号用于传给API检验
    return phone

通过 API接口获取手机号码归属地

**接口地址:**http://apis.juhe.cn/mobile/get

**返回格式:**json/xml

**请求方式:**get

**请求示例:**http://apis.juhe.cn/mobile/get?phone=13429667914&key=您申请的KEY

#! /usr/bin/python3

# @Time    : 2020/8/8 17:03
# @Author  : 测试小小小

import unittest
import requests
import json
from day2 import GreatPhone

class Test_Moblie(unittest.TestCase):

# 封装公共的数据
def common(self, phone):
	url = "http://apis.juhe.cn/mobile/get"
        date = {
            'key': "4391b7dd8213662798c3ac3da9f54ca8",
            'phone': phone
        }
        self.response = requests.get(url, params=date)
        return self.response

    def test_1(self):
        self.common(GreatPhone.phone())
        print(self.response.text)

if __name__ == '__main__':
    unittest.main()

运行结果

{"resultcode":"200","reason":"Return Successd!","result":{"province":"广东","city":"东莞","areacode":"0769","zip":"523000","company":"联通","card":""},"error_code":0}

 我们经常是使用免费的API去检测手机号的正确性,在想有没有更简单的方式来检验呢?当然是有的,有一个第3方的模块:phone可以简单的处理这个问题

通过 phone模块获取手机号码归属地

安装模块

pip install phone

#! /usr/bin/python3
# -*- coding:utf-8 -*-'

# @FileName: day4.py
# @Time    : 2020/8/8 20:47
# @Author  : 测试小小小

import phone
from day2 import GreatPhone

# 获取手机号
n_phone = GreatPhone.phone()
print(n_phone)

# 获取手机号相关归属信息
phone_info = phone.Phone().find(n_phone)
print(phone_info)

运行结果

{'phone': '13534619807', 'province': '广东', 'city': '潮州', 'zip_code': '521000', 'area_code': '0768', 'phone_type': '移动'}

免费领取Python自动化学习资料  工具,面试宝典面试技巧,加QQ群,785128166,群内还会大佬技术交流!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值