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分割和拼接字符串
Nov 01 Python
修改Python的pyxmpp2中的主循环使其提高性能
Apr 24 Python
实例讲解Python中函数的调用与定义
Mar 14 Python
python实现Floyd算法
Jan 03 Python
Python面向对象class类属性及子类用法分析
Feb 02 Python
Python迭代器和生成器定义与用法示例
Feb 10 Python
Python 统计字数的思路详解
May 08 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
Feb 27 Python
Python TestCase中的断言方法介绍
May 02 Python
Python远程开发环境部署与调试过程图解
Dec 09 Python
MNIST数据集转化为二维图片的实现示例
Jan 10 Python
python异步Web框架sanic的实现
Apr 27 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
浅析ThinkPHP中execute和query方法的区别
2014/06/13 PHP
使用XHGui来测试PHP性能的教程
2015/07/03 PHP
使用JavaScript创建新样式表和新样式规则
2016/06/14 PHP
PHP使用imagick扩展实现合并图像的方法
2017/04/25 PHP
关于laravel框架中的常用目录路径函数
2019/10/23 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
2020/05/27 PHP
JavaScript Object的extend是一个常用的功能
2009/12/02 Javascript
IE7中javascript操作CheckBox的checked=true不打勾的解决方法
2009/12/07 Javascript
javascript权威指南 学习笔记之变量作用域分享
2011/09/28 Javascript
JavaScript访问CSS属性的几种方式介绍
2014/07/21 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
2016/10/18 Javascript
JS实现简单拖拽效果
2017/06/21 Javascript
js图片轮播插件的封装
2017/07/21 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
微信小程序wepy框架笔记小结
2018/08/08 Javascript
浅析vue 函数配置项watch及函数 $watch 源码分享
2018/11/22 Javascript
JSON.stringify()方法讲解
2019/01/31 Javascript
nodejs和react实现即时通讯简易聊天室功能
2019/08/21 NodeJs
laravel实现中文和英语互相切换的例子
2019/09/30 Javascript
[26:52]LGD vs EG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[01:07:34]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第二场 1月9日
2021/03/11 DOTA
Python中用Spark模块的使用教程
2015/04/13 Python
PyQt5实现无边框窗口的标题拖动和窗口缩放
2018/04/19 Python
python实现随机漫步算法
2018/08/27 Python
python判断输入日期为第几天的实例
2018/11/13 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
python调用函数、类和文件操作简单实例总结
2019/11/29 Python
Python实现鼠标自动在屏幕上随机移动功能
2020/03/14 Python
Python修改DBF文件指定列
2020/12/19 Python
复古风格的女装和装饰品:ModCloth
2017/12/29 全球购物
Casetify官网:自制专属手机壳、iPad护壳和Apple Watch手表带
2018/05/09 全球购物
集团公司人力资源部岗位职责
2014/01/03 职场文书
2015年前台接待工作总结
2015/05/04 职场文书
2015年端午节活动方案
2015/05/05 职场文书
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python
JavaScript原型链详解
2021/11/07 Javascript