前言
软件测试工作中,经常需要用到很多手机号进行注册或其它操作,如何生成有效有手机号呢?我们可以使用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': '移动'}