python 域名分析工具实现代码

 更新时间:2009年07月15日 00:20:20   作者:  
用python实现域名分析,数据来源金玉米
代码如下:
复制代码 代码如下:

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("\n\n\nfinished!!")

输出文件:
domains.txt : kingnic.com 据当天释放的 域名;
result.txt    : 符合过滤条件的域名;
log输出:
复制代码 代码如下:

all: 55500
len not in [4,0] : 55019
contain '-' : 32
remain: 449
finished!!

对 后缀、长度和有无“-”过滤,过滤条件有点少,其它以后如有需要再加。

相关文章

  • python全面解析接口返回数据

    python全面解析接口返回数据

    这篇文章主要介绍了python接口返回数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Python实现将mp3音频格式转换为wav格式

    Python实现将mp3音频格式转换为wav格式

    这篇文章主要介绍了利用python写了这个小工具,可以批量进行mp3音频格式转换为wav格式,文中的示例代码讲解详细,感兴趣的可以学习一下
    2022-01-01
  • Python内建函数之raw_input()与input()代码解析

    Python内建函数之raw_input()与input()代码解析

    这篇文章主要介绍了Python内建函数之raw_input()与input()代码解析,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • 对Tensorflow中的矩阵运算函数详解

    对Tensorflow中的矩阵运算函数详解

    今天小编就为大家分享一篇对Tensorflow中的矩阵运算函数详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python里的dict和set的背后小秘密

    Python里的dict和set的背后小秘密

    这篇文章主要介绍了在Python里的dict和set的背后小秘密,dict字典是Python中的重要基础知识,set与其类似,需要的朋友可以参考下
    2021-11-11
  • Python安装Gradio和常见安装问题解决办法

    Python安装Gradio和常见安装问题解决办法

    Gradio是一款便捷的Python库,专门用于创建机器学习模型的Web应用,安装通常简单,但偶尔会遇到依赖问题或环境配置错误,这篇文章主要介绍了Python安装Gradio和常见安装问题解决办法,需要的朋友可以参考下
    2024-10-10
  • Python for循环搭配else常见问题解决

    Python for循环搭配else常见问题解决

    这篇文章主要介绍了Python for循环搭配else常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Python中处理表格数据的Tablib库详解

    Python中处理表格数据的Tablib库详解

    这篇文章主要介绍了Python中处理表格数据的Tablib库详解,Tablib 是一个 MIT 许可的格式不可知的表格数据集库,用 Python 编写,它允许您导入、导出和操作表格数据集,需要的朋友可以参考下
    2023-08-08
  • python学习教程之Numpy和Pandas的使用

    python学习教程之Numpy和Pandas的使用

    最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,下面这篇文章主要给大家介绍了关于python学习教程之Numpy和Pandas使用的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴。
    2017-09-09
  • python 最简单的实现适配器设计模式的示例

    python 最简单的实现适配器设计模式的示例

    这篇文章主要介绍了python 最简单的实现适配器设计模式的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06

最新评论