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 相关文章推荐
Python正则表达式匹配HTML页面编码
Apr 08 Python
解读Python编程中的命名空间与作用域
Oct 16 Python
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
Apr 23 Python
Python中模块与包有相同名字的处理方法
May 05 Python
Django实现分页功能
Jul 02 Python
Flask框架实现给视图函数增加装饰器操作示例
Jul 16 Python
python 动态迁移solr数据过程解析
Sep 04 Python
执行Django数据迁移时报 1091错误及解决方法
Oct 14 Python
python super函数使用方法详解
Feb 14 Python
Python类super()及私有属性原理解析
Jun 15 Python
Django配置跨域并开发测试接口
Nov 04 Python
python代码实现备忘录案例讲解
Jul 26 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
ajax php 实现写入数据库
2009/09/02 PHP
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
PHP生成加减算法方式的验证码实例
2018/03/12 PHP
php将字符串转换为数组实例讲解
2020/05/05 PHP
js RuntimeObject() 获取ie里面自定义函数或者属性的集合
2010/11/23 Javascript
怎样在JavaScript里写一个swing把数据插入数据库
2012/12/10 Javascript
js实现两个值相加alert出来精确到指定位
2013/09/25 Javascript
jQuery中:eq()选择器用法实例
2014/12/29 Javascript
js Calender控件使用详解
2015/01/05 Javascript
NodeJS中利用Promise来封装异步函数
2015/02/25 NodeJs
基于jQuery实现网页进度显示插件
2015/03/04 Javascript
分享经典的JavaScript开发技巧
2015/11/21 Javascript
JavaScript 七大技巧(一)
2015/12/13 Javascript
微信小程序 Page()函数详解
2016/10/17 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
JavaScript标准对象_动力节点Java学院整理
2017/06/27 Javascript
react开发教程之React 组件之间的通信方式
2017/08/12 Javascript
Vue组件和Route的生命周期实例详解
2018/02/10 Javascript
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
JavaScript实现的拼图算法分析
2019/02/13 Javascript
JavaScript 实现轮播图特效的示例
2020/11/05 Javascript
[02:09:59]火猫TV国士无双dota2 6.82版本详解(下)
2014/09/29 DOTA
Python首次安装后运行报错(0xc000007b)的解决方法
2016/10/18 Python
Flask框架Flask-Principal基本用法实例分析
2018/07/23 Python
python实现决策树分类
2018/08/30 Python
Opencv+Python 色彩通道拆分及合并的示例
2018/12/08 Python
Django Serializer HiddenField隐藏字段实例
2020/03/31 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
美国医疗用品、医疗设备和家庭保健用品商店:Medical Supply Depot
2018/07/08 全球购物
婚礼证婚人证婚词
2014/01/08 职场文书
2014信息公开实施方案
2014/02/22 职场文书
本科生求职信
2014/06/17 职场文书
2014年度安全生产目标管理责任书
2014/07/25 职场文书
全国爱眼日活动总结
2015/02/27 职场文书
入团申请书格式
2019/06/20 职场文书
Python连续赋值需要注意的一些问题
2021/06/03 Python