天天看點

使用python的Phone庫批量快速查詢手機号歸屬地及營運商資訊

目錄

  • 使用python批量快速擷取手機号歸屬地及營運商資訊;

使用python批量快速擷取手機号歸屬地及營運商資訊;

簡介

​ 本方法是使用python的phone庫查詢,并寫入TXT文檔中,腳本做了高相容,不會出錯,相容漢字、空行、異常号等,不會報錯。

項目結構

使用python的Phone庫批量快速查詢手機号歸屬地及營運商資訊
源檔案
使用python的Phone庫批量快速查詢手機号歸屬地及營運商資訊
查詢結果
使用python的Phone庫批量快速查詢手機号歸屬地及營運商資訊

使用說明

首次使用腳本,需要配置以下環境:

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()