Python domain name analysis tool implementation code

  • 2020-04-02 09:19:05
  • OfStack

The code is as follows:

import sys, urllib 
import datetime,time 
def getDate(): 
strday=datetime.datetime.now().__str__() 
strday=strday.split()[0] 
return strday 
#url = "http://www.kingnic.com/list/2009-06-16.txt" 
def getUrl(dateStr=None): 
baseUrl ="http://www.kingnic.com/list/" 
if dateStr: 
return baseUrl+dateStr+".txt" 
thisDate = getDate(); 
if not thisDate: 
print "Error Date!" 
return None; 
url = baseUrl+thisDate+".txt" 
return url 
def getSource(url): 
source = urllib.urlopen(url).read() 
return source 

def save(source,filename="domains.txt"): 
fp = open(filename,"w") 
fp.write(source) 
fp.close() 
return True; 
def loadList(fileName="domains.txt"): 
fp = open("domains.txt","r") 
source = fp.readlines() 
fp.close() 
return source; 
def getPrefix(domain): 
return domain.split('.')[0] 
def getPostfix(domain): 
return domain.split('.')[1] 
def hasMidLine(domain): 
if '-' in domain: 
return True 
else: 
return False 
def parser(domains): 
max =4 
min =0 
keyword =('sky','see','job') 
result=[] 

len_num =0; 
mid_line_num =0; 

for domain in domains: 
prefix = getPrefix(domain) 
postfix = getPostfix(domain) 
domainlen = len(prefix) 
if (domainlen < min) or (domainlen > max): 
len_num +=1 
continue 
if hasMidLine(prefix): 
mid_line_num +=1 
continue 
result.append(domain) 

print " log : n" 
print "all: t",len(domains) 
print "len not in [%s,%s] t: %s"%(max,min,len_num) 
print "contain '-' :t",mid_line_num 
print "remain:t",len(result) 
return result; 

if __name__ == "__main__": 
url = getUrl() 
source = getSource(url) 
save(source) 
domains =loadList() 
result = parser(domains) 
save("".join(result),"result.txt") 
print("nnnfinished!!")

Output file:
Domains. TXT: kingnic.com according to the domains released that day;
Result the. TXT         : domain names eligible for filtering;
The log output:
 
all: 55500 
len not in [4,0] : 55019 
contain '-' : 32 
remain: 449 
finished!! 

To suffix, length and have no "-" filter, filter condition is a little less, other later if there is a need to add.

Related articles: