最近研究py。找到的一个批量处理域名成顶级域名的一个小脚本分享给各位老哥
最近想写个自动化工具。因为想要配合oneforall 所以 必须将收集到的域名处理成顶级域名。其实是想自己写的,可真是写起来才知道还是比较难处理的。于是想着网上找找看有没有前辈写好的,找到个靠谱的小脚本,已经忘了具体出处了 这种数据处理可真是难搞啊,看了前辈写的代码才算是明白了思路了
代码直接贴出来这小代码写的真挺漂亮的。可以批量的处理各式各样的域名成顶级域名,但是ip类的不行。贴给各位师傅瞧瞧。
代码直接贴出来
path=r'xxxxx' #当前路径
readfilename="indomain.txt"
writefilename="outdomain.txt"
alldomainend=(".com", ".cn", ".com.cn", ".gov", ".net", ".edu.cn", ".net.cn", ".org.cn", ".co.jp", ".gov.cn",
".co.uk", "ac.cn", ".edu", ".tv",".info", ".ac", ".ag", ".am", ".at", ".be", ".biz", ".bz",
".cc", ".de", ".es", ".eu", ".fm", ".gs", ".hk", ".in", ".info", ".io", ".it", ".jp", ".la",
".md", ".ms", ".name", ".nl", ".nu", ".org", ".pl", ".ru", ".sc", ".se", ".sg", ".sh", ".tc",
".tk", ".tv", ".tw", ".us", ".co",".uk", ".vc", ".vg", ".ws", ".il", ".li", ".nz" )
#倒叙输出字符串
def string_reverse(m):
num = len(m)
a = []
for i in range(num):
a.append(m[num - 1 - i]) # 从最后一位的元素开始往新list内添加元素
return a
def checkTopDomain(pDomain):
tmpDomain="".join(pDomain)
for i in alldomainend:
if i==tmpDomain:
return True
return False
def GetTopDomain(pDomain):
tmpDomain=pDomain.decode()
reversestr=string_reverse(tmpDomain)
n = len(reversestr)
i = 0
tmpbuf=''
for i in range(n):
if reversestr[i] !='.':
if reversestr[i] !='/':
tmpbuf+=reversestr[i]
#print( tmpbuf)
else:
rebuf = string_reverse(tmpbuf)
#print(rebuf)
return (rebuf)
else:
tmpbuf+='.'
rebuf=string_reverse(tmpbuf)
if checkTopDomain(rebuf) ==False:
#print(rebuf[1:])
return rebuf[1:]
return list(tmpDomain)
print("GetTopDomain start")
rfile=open(path+readfilename,'rb')
wfile=open(path+writefilename,'a')
line=rfile.readline()
while line:
nline = line.split( )
rDomain=nline[0]
strreturn="".join(GetTopDomain(rDomain))
#print(type(strreturn))
wfile.writelines(strreturn)
wfile.write('\n')
line = rfile.readline()
print("GetTopDomain end")
rfile.close()
wfile.close()
评论5次
有点水,一个tldextract库搞定的事
我最近因为工作需要,在网上找到了一个提取顶级域名+统计重复域名的脚本。正则表达式复杂,表示学不会。
https://seo.juziseo.com/tools/domain/ 这个网站可以从url中提取出主域名来
http://tools.bugscaner.com/urlstourls.html 这个网站很方便各种小工具,里面就有提取URL的页面。还可以指纹
有点水,一个tldextract库搞定的事
这个py有一个专门提取顶级域名的模块,百度一下就有了,老哥还是很强!