我有以下腳本打開一個包含兩列IP文件,域如何加速從網址中提取域名?
e.g 108.170.206.91|.com.invitemedia.prod2.pixel
,並首先嚐試崇敬的域名,因爲它是FNS表格,然後通過公共後綴模塊提取二級域名
`e.g invitemedia.com`
它運作良好,但它有點慢,有人可以幫助我做得更快嗎?
這裏是我的腳本:
psl = PublicSuffixList()
d = {}
f = open(file, 'r')
for n, line in enumerate(f):
ip,reversed_domain_1= line.split('|')
try:
reversed_domain_2 = reversed_domain_1.split('.')
reversed_domain_3 = list(reversed(reversed_domain_2))
domain = ('.'.join(reversed_domain_3)).strip('.')
domain = psl.get_public_suffix(domain)
assert domain
if ip in d:
d[ip].add(domain)
else:
d[ip] = set([domain])
except:
print (domain)
continue
for ip,domain in d.iteritems():
print("%s|%d" % (ip, domain), file = output)
你輸入的是什麼樣子,你似乎在做很多方法調用?我會忘記逆轉,只是分裂然後加入。 'spl。「.split(」。「)」。「。join((spl [1:] [:: - 1]))' – 2014-10-27 17:48:18
for line in f:print」。 「.join(line.split('|')[1] .split('。')[1:3] [:: - 1]) – kums 2014-10-27 17:55:04
Split在此處不起作用導致域級別的長度(點數)是不同的 – UserYmY 2014-10-27 18:09:46