嘛項分隔兩個換行。第二行始終是base16之一。第一個選項卡之前的數據是base16密鑰,最後一個是公司名稱。
import urllib
inputfile = urllib.urlopen("http://standards.ieee.org/develop/regauth/oui/oui.txt")
data = inputfile.read()
entries = data.split("\n\n")[1:-1] #ignore first and last entries, they're not real entries
d = {}
for entry in entries:
parts = entry.split("\n")[1].split("\t")
company_id = parts[0].split()[0]
company_name = parts[-1]
d[company_id] = company_name
一些結果:
40F52E: Leica Microsystems (Schweiz) AG
3831AC: WEG
00B0F0: CALY NETWORKS
9CC077: PrintCounts, LLC
000099: MTX, INC.
000098: CROSSCOMM CORPORATION
000095: SONY TEKTRONIX CORP.
000094: ASANTE TECHNOLOGIES
000097: EMC Corporation
000096: MARCONI ELECTRONICS LTD.
000091: ANRITSU CORPORATION
000090: MICROCOM
000093: PROTEON INC.
000092: COGENT DATA TECHNOLOGIES
002192: Baoding Galaxy Electronic Technology Co.,Ltd
90004E: Hon Hai Precision Ind. Co.,Ltd.
002193: Videofon MV
00A0D4: RADIOLAN, INC.
E0F379: Vaddio
002190: Goliath Solutions
非常感謝@nightcracker。如何將此鏈接到我下載的.txt文件?這個委託在例如「oui.txt」中。我如何首先打開並閱讀這個文件中的條目?謝謝 – thefragileomen
@ thefragileomen:我用這個信息更新了我的答案。如果我的答案解決了您的問題,請考慮點擊答案左側的「接受答案」按鈕。 – orlp