目录

  • 使用python批量快速获取手机号归属地及运营商信息;
  • 简介
  • 项目结构
  • 源文件
  • 查询结果
  • 使用说明
  • 代码

使用python批量快速获取手机号归属地及运营商信息;

简介

本方法是使用python的phone库查询,并写入TXT文档中,脚本做了高兼容,不会出错,兼容汉字、空行、异常号等,不会报错。

项目结构

python 手机号码 python手机号码判断归属_phone库

源文件

python 手机号码 python手机号码判断归属_python 手机号码_02

查询结果

python 手机号码 python手机号码判断归属_批量查询_03

使用说明

首次使用脚本,需要配置以下环境:
1、安装python;
1)、访问python官网,下载安装包:https://www.python.org/downloads/,下载版本:3.4及以上版本都行; 2)、安装python;
2、安装依赖的库:命令行执行 pip install phone

使用方法:
1、phoneNum.txt中列出所有需要查询的号码,注意尽量不要有中文或者空行之类的;
2、清空result.txt中的内容;
3、双击运行getPhoneInfo.py文件,等待执行完毕;
4、result.txt中的内容就是最新的手机号归属地信息;

如果手机号后出现Error,请手动查询,部分号段phone库不支持;

代码

#coding=utf-8
from phone import Phone

def getPhoneNum(file):		#读取源文件,获取待查询的手机号
    try:
        with open(file,"r") as f:
            phonList = f.readlines()	#读取源手机号文档中的手机号
            #print(phonList)	
            return phonList		#返回手机号列表。phonList
    except:		#兼容读取文档失败
        pass

def getPhoneInfo(phoneNum):		#查询函数
    info = Phone().find(phoneNum)	#通过phone库查询
    try:	#返回所有查询的信息
        phone = info['phone']	#手机号
        province = info['province']	#归属地:省份
        city = info['city']	#归属地,城市
        zip_code = info['zip_code']		#邮政编码
        area_code = info['area_code']	#区域编码
        phone_type = info['phone_type']	#手机号运营商
        print(phone+"\t"+province+city+"\t"+phone_type)
        return ("\n"+phone+" \t"+province+city+" \t"+phone_type)	#因为我只需要手机号、区域、运营商,所以只返回这三个字段,其他字段,可以自己按需添加;
    except:		#兼容查询失败的情况
        print("\n"+str(phoneNum.strip("\n"))+" \t"+"Error!")
        return ("\n"+str(phoneNum.strip("\n"))+" \t"+"Error!")	

if __name__ == "__main__":
    listPhoneNum = getPhoneNum("phoneNum.txt")	#通过getPhoneNum函数,读取源文件。
    listResult = []

    for i in listPhoneNum:
        try:
            res = getPhoneInfo(i.strip("\n"))
            listResult.append(res)
            with open("result.txt","a") as f:	#写入结果文档
                f.write(res)
                f.close()
        except:		#兼容出错
            res = "\n"+str(i).strip("\n") + "\t" + "Error!"		
            with open("result.txt","a") as f:
                f.write(res)
                f.close()