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操作MySQL数据库的方法分享
May 29 Python
谈谈Python进行验证码识别的一些想法
Jan 25 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
Sep 21 Python
Python中functools模块函数解析
Mar 12 Python
Odoo中如何生成唯一不重复的序列号详解
Feb 10 Python
python leetcode 字符串相乘实例详解
Sep 03 Python
python3.6利用pyinstall打包py为exe的操作实例
Oct 31 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
Jan 30 Python
详解Python中的测试工具
Jun 09 Python
python实发邮件实例详解
Nov 11 Python
基于Numba提高python运行效率过程解析
Mar 02 Python
一小时学会TensorFlow2之基本操作2实例代码
Sep 04 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
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
2017/04/25 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
YII2框架中actions的作用与使用方法示例
2020/03/13 PHP
jquery validate使用攻略 第四步
2010/07/01 Javascript
js中arguments,caller,callee,apply的用法小结
2014/01/28 Javascript
jQuery多项选项卡的实现思路附样式及代码
2014/06/03 Javascript
jQuery中on()方法用法实例详解
2015/02/06 Javascript
AngularJS 模型详细介绍及实例代码
2016/07/27 Javascript
浅谈javascript中的Function和Arguments
2016/08/30 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
2017/02/16 Javascript
iOS + node.js使用Socket.IO框架进行实时通信示例
2017/04/14 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
在Mac下彻底卸载node和npm的方法
2018/05/16 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
vue canvas绘制矩形并解决由clearRec带来的闪屏问题
2019/09/02 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
2020/02/16 Javascript
基于JavaScript实现随机点名器
2021/02/25 Javascript
[01:17:47]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python实现的各种排序算法代码
2013/03/04 Python
Python格式化输出%s和%d
2018/05/07 Python
python读取TXT每行,并存到LIST中的方法
2018/10/26 Python
Python3 实现串口两进程同时读写
2019/06/12 Python
Django如何将URL映射到视图
2019/07/29 Python
python常用数据重复项处理方法
2019/11/22 Python
马来西亚在线药房:RoyalePharma
2019/12/01 全球购物
土耳其新趋势女装购物网站:Addax
2020/01/07 全球购物
西部世纪面试题
2014/12/05 面试题
土木工程专业个人求职信
2013/12/30 职场文书
教学改革实施方案
2014/03/31 职场文书
计算机专业自荐信范文
2014/05/28 职场文书
教师先进个人材料
2014/12/17 职场文书
文明单位创建材料
2014/12/24 职场文书
2015年乡镇人大工作总结
2015/04/22 职场文书
女性健康知识讲座通知
2015/04/23 职场文书
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python