python 域名分析工具实现代码


Posted in Python onJuly 15, 2009

代码如下:

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 相关文章推荐
下载给定网页上图片的方法
Feb 18 Python
python逆向入门教程
Jan 15 Python
对python的unittest架构公共参数token提取方法详解
Dec 17 Python
使用python opencv对目录下图片进行去重的方法
Jan 12 Python
Python中Unittest框架的具体使用
Aug 27 Python
10行Python代码计算汽车数量的实现方法
Oct 23 Python
PyTorch中的Variable变量详解
Jan 07 Python
Python计算机视觉里的IOU计算实例
Jan 17 Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
Feb 29 Python
Python自省及反射原理实例详解
Jul 06 Python
python代码能做成软件吗
Jul 24 Python
基于Python爬取搜狐证券股票过程解析
Nov 18 Python
python 自动提交和抓取网页
Jul 13 #Python
python self,cls,decorator的理解
Jul 13 #Python
python 解析html之BeautifulSoup
Jul 07 #Python
打印出python 当前全局变量和入口参数的所有属性
Jul 01 #Python
python 查找文件夹下所有文件 实现代码
Jul 01 #Python
python 运算符 供重载参考
Jun 11 #Python
python getopt 参数处理小示例
Jun 09 #Python
You might like
阿拉伯的咖啡与水烟
2021/03/03 咖啡文化
几个学习PHP的网址
2006/11/25 PHP
php读取csv实现csv文件下载功能
2013/12/18 PHP
Yii中表单用法实例详解
2016/01/05 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
2016/09/30 PHP
PHP调用微博接口实现微博登录的方法示例
2018/09/22 PHP
jqPlot Option配置对象详解
2009/07/25 Javascript
Extjs TimeField 显示正常时间格式的代码
2011/06/28 Javascript
在表单提交前进行验证的几种方式整理
2013/07/31 Javascript
js控制页面控件隐藏显示的两种方法介绍
2013/10/09 Javascript
深入理解JS中的变量及作用域、undefined与null
2014/03/04 Javascript
javascript解三阶幻方(九宫格)
2015/04/22 Javascript
javascript实现英文首字母大写
2015/04/23 Javascript
Vuejs仿网易云音乐实现听歌及搜索功能
2017/03/30 Javascript
JavaScript实现自动跳转文本功能
2017/05/25 Javascript
jQuery niceScroll滚动条错位问题的解决方法
2018/02/03 jQuery
微信小程序分享功能onShareAppMessage(options)用法分析
2019/04/24 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
node 标准输入流和输出流代码实例
2019/09/19 Javascript
从零学python系列之数据处理编程实例(一)
2014/05/22 Python
Python浅复制中对象生存周期实例分析
2018/04/02 Python
python 定时修改数据库的示例代码
2018/04/08 Python
python selenium 弹出框处理的实现
2019/02/26 Python
详解Python打包分发工具setuptools
2019/08/05 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
一款利用html5和css3实现的3D滚动特效的教程
2015/01/04 HTML / CSS
Booking.com缤客中国:全球酒店在线预订网站
2020/05/03 全球购物
银行会计业务的个人自我评价
2013/11/02 职场文书
小班幼儿评语大全
2014/04/30 职场文书
2014年国庆标语
2014/06/30 职场文书
生活小常识广播稿
2014/09/16 职场文书
2014年大堂经理工作总结
2014/11/21 职场文书
中学社团活动总结
2015/05/07 职场文书
HTML+VUE分页实现炫酷物联网大屏功能
2021/05/27 Vue.js
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers
vue实现书本翻页动画效果实例详解
2022/04/08 Vue.js