Python查找电话号码归属地、邮编、运营商信息等

# -*- coding: utf-8 -*-

1. 查找单个电话号码

from phone import Phone

def get_phone_info(phone_num):
    phone_info = Phone().find(phone_num)
    try:
        phone = phone_info[‘phone‘]
        province = phone_info[‘province‘]   #省
        city = phone_info[‘city‘]           #城市
        zip_code = phone_info[‘zip_code‘]   #邮编
        area_code = phone_info[‘area_code‘] #区号
        phone_type = phone_info[‘phone_type‘] #运营商
    except:
        print(‘----- the phone number is empty, please check your phone number! -----‘)
    return phone, province, city, zip_code, area_code, phone_type 

if __name__ == "__main__":
    phone_num = ‘17713645840‘ #输入要查询的电话号码,注意只能是三大运营商的手机号码
    if len(phone_num)==0:
        print(‘please input your phone number first!‘)
        phone_num = input("phone number:")
    phone_info = get_phone_info(phone_num) #列表返回
    print(phone_info[0]) #电话号
    print(phone_info[1]) #省份
    print(phone_info[2]) #城市
    print(phone_info[3]) #邮编
    print(phone_info[4]) #区号
    print(phone_info[5]) #运营商

2. 查找excel里面的电话号码

from phone import Phone
import xlrd
import os
import xlsxwriter

def get_phone_info(phone_num):
    phone_info = Phone().find(phone_num)
    try:
        phone = phone_info[‘phone‘]
        province = phone_info[‘province‘]   #省
        city = phone_info[‘city‘]           #城市
        zip_code = phone_info[‘zip_code‘]   #邮编
        area_code = phone_info[‘area_code‘] #区号
        phone_type = phone_info[‘phone_type‘] #运营商
    except:
        print(‘----- the phone number is empty, please check your phone number! -----‘)
    return phone, province, city, zip_code, area_code, phone_type 

def get_phone_info_excel(phone_number_path, sheet_num = 0):
    #解析地址
    file_name = os.path.splitext(phone_number_path)[0]
    file_realname = file_name.split(‘\\‘)[-1] #文件名
    print(file_realname)

    myWorkbook = xlsxwriter.Workbook(file_name+‘_get_info.xlsx‘)#创建一个excel文件,用于待会写数据
    sheet_file_realname = myWorkbook.add_worksheet(file_realname)#在文件中创建一个名为file_realname的sheet,不加名字默认为sheet1
    bold= myWorkbook.add_format({‘bold‘:True})#设置一个加粗的格式对象
    # workfomat = workbook.add_format({
    # ‘bold‘ : True,                 #字体加粗
    # ‘border‘ : 1,                    #单元格边框宽度
    # ‘align‘ : ‘center‘,          #对齐方式
    # ‘valign‘ : ‘vcenter‘,         #字体对齐方式
    # ‘fg_color‘ : ‘#F4B084‘,         #单元格背景颜色
    # })
    sheet_file_realname.write(0, 0, u‘电话号‘,bold) #给第一行加标签
    sheet_file_realname.write(0, 1, u‘省份‘,bold)
    sheet_file_realname.write(0, 2, u‘城市‘,bold)
    sheet_file_realname.write(0, 3, u‘邮编‘,bold)
    sheet_file_realname.write(0, 4, u‘区号‘,bold)
    sheet_file_realname.write(0, 5, u‘运营商‘,bold)

    #设置读Excel的编码格式
    xlrd.Book.encoding = "gbk"
    rb = xlrd.open_workbook(phone_number_path)

    sheet = rb.sheet_by_index(sheet_num) #读第几个sheet,默认为第一个
    nrows = sheet.nrows
    for i in range(nrows):
        phone_num = int(sheet.cell_value(i, 0))  #假设电话号码在第一列,从第一行开始,也就是索引(0,0),
        #int是因为读入的时候自动变成float,会超过电话号码长度
        phone_info = get_phone_info(phone_num)
        sheet_file_realname.write(i + 1, 0, phone_info[0])
        sheet_file_realname.write(i + 1, 1, phone_info[1])
        sheet_file_realname.write(i + 1, 2, phone_info[2])
        sheet_file_realname.write(i + 1, 3, phone_info[3])
        sheet_file_realname.write(i + 1, 4, phone_info[4])
        sheet_file_realname.write(i + 1, 5, phone_info[5])
    myWorkbook.close()

if __name__ == "__main__":
    phone_number_path = r‘D:\Python_workspace\spyder_space\电话号码.xlsx‘
    get_phone_info_excel(phone_number_path)

3. 安装phone包:pip install phone

参考:https://www.cnblogs.com/yaoqian/p/9358107.html

原文地址:https://www.cnblogs.com/qi-yuan-008/p/11802451.html

时间: 2024-08-29 11:56:06

Python查找电话号码归属地、邮编、运营商信息等的相关文章

# Linux Whois3获取 运营商信息

Linux Whois3获取 运营商信息 APNIC是管理亚太地区IP地址分配的机构,它有着丰富准确的IP地址分配库,同时这些信息也是对外公开的,并提供了一个查询工具,下面就让我们看看如何在Linux下获得一些中国基础电信运营商(网通.电信.铁通.教育网)的IP地址分配情况: (我们平时用whois查询是知道域名或IP查信息, 这里用的是知道地理区域批量查IP及其信息) 获取安装包 APNIC ripe-dbase-client-v3.tar.gz http://ftp.apnic.net/ap

Android 获取运营商信息(完整版)-解决高通,MTK等双卡问题

由于国内的运营商问题,双卡手机获取IMSI号问题要根据厂商API 来实现. 下面我们就来做一套完整的分析运营商获取IMSI号逻辑. 1,首先我们要判断手机的平台. 1.1,判断手机是否MTK平台 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 public static M

android 获取sim卡运营商信息(转)

TelephonyManager tm = (TelephonyManager)Context.getSystemService(Context.TELEPHONY_SERVICE); 注意:一些电话信息需要相应的权限. // 获取服务提供商名字,比如电信,联通,移动用下面的方法第一种方法: 获取手机的IMSI码,并判断是中国移动\中国联通\中国电信 getSimOperatorName() //Returns the Service Provider Name (SPN). IMSI 国际移动

Android获取运营商信息

项目上要求做三网外放产品,将三个单网SDK自行整合成三网联合,思路大概是在OnCreate时区分运营商 设定枚举,根据取到的sim卡信息赋予枚举变量,后面三网的一些操作根据枚举进行判定 先设定运营商枚举 enum CARRIEROPERATOR { NONE(0), MM(1), UNIPAY(2), EGAME(3); private int value; private CARRIEROPERATOR(int i) { this.value=i; } public int getValue(

针对运营商行业的虚拟化应用性能监测管理解决方案

近几年,由于政府.医疗.大型企业上云进程的发展,移动.电信.联通各 大运营商不断完善自己的云服务,来满足政府和企业越来越复杂的业务需求.随 着各级省市区政府政务和网站的上云,以及各大企业关键业务的云上运行,客户 对于上云业务的稳定性和流畅性提出了更高的要求,运营商的相关运维管理部门(如:移动的网络部.网管中心.电信的网络运维部.企信部.联通系统运维部 等)在减少"故障率"和降低"投诉率"方面面临更大的挑战.遇到的问题:客户对上云业务(如:政务云.医疗云.企业云等)的

android判断网络连接状态、联网类型、运营商

/** * 获取上网方式 * * @param mContext * @return */ public static String getNetType(Context mContext) { String netType = ""; ConnectivityManager connectionManager = (ConnectivityManager) mContext .getSystemService(Context.CONNECTIVITY_SERVICE); Networ

iOS获取运营商的相关信息

1.导入:CoreTelephony.framework 2.添加头文件 #import <CoreTelephony/CTTelephonyNetworkInfo.h> #import <CoreTelephony/CTCarrier.h> 3.获取网络环境 -(void)networktype{ NSArray *subviews = [[[[UIApplication sharedApplication] valueForKey:@"statusBar"]

python 查找IP地址归属地

#!/usr/bin/env python # -*- coding: utf-8 -*- #查找IP地址归属地 #writer by keery_log #Create time:2013-10-30 #Last update:2013-10-30 #用法: python chk_ip.py www.google.com |python chk_ip.py 8.8.8.8 |python chk_ip.py ip.txt import signal import urllib import j

微信电话本 扒不掉运营商的底裤

网络通话想成为4G时代的敲门砖,除非移动互联网覆盖到全国每一个角落,包括罕有人烟的地带,就如基础通信网一样. 文/张书乐 <计算机应用文摘>2014年12月上旬刊 11月11日, 这边厢阿里巴巴的光棍节大战正如火如荼,那边厢腾讯不动神色的推出微信电话本,该APP1.0.0版本当日登录苹果和安卓应用商店.一时间,对电商大战有点审美疲劳的舆论,把注意力扑向了微信电话本,言论大同小异,无外乎张小龙再次出手,在微信OTT了运营商的短信.彩信业务后,微信电话本再次向运营商宣战,这次的进攻方向是对手的根据