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线程的两种编程方式
Apr 14 Python
bpython 功能强大的Python shell
Feb 16 Python
python实现SMTP邮件发送功能
Jun 16 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
Apr 11 Python
使用NumPy和pandas对CSV文件进行写操作的实例
Jun 14 Python
Python list列表中删除多个重复元素操作示例
Feb 27 Python
Python split() 函数拆分字符串将字符串转化为列的方法
Jul 16 Python
自定义django admin model表单提交的例子
Aug 23 Python
python numpy 反转 reverse示例
Dec 04 Python
python 伯努利分布详解
Feb 25 Python
python opencv进行图像拼接
Mar 27 Python
使用IPython或Spyder将省略号表示的内容完整输出
Apr 20 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 应用程序的安全 -- 不能违反的四条安全规则
2006/11/26 PHP
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
2009/07/01 PHP
使用php实现截取指定长度
2013/08/06 PHP
PHP获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
2009/10/24 Javascript
javascript dom 基本操作小结
2010/04/11 Javascript
纯JavaScript实现HTML5 Canvas六种特效滤镜示例
2013/06/28 Javascript
JavaScript中两个字符串的匹配
2016/06/08 Javascript
Active控件问题小结(附解决办法)
2016/06/09 Javascript
jQuery动态改变多行文本框高度的方法
2016/09/07 Javascript
使用Promise链式调用解决多个异步回调的问题
2017/01/15 Javascript
jQuery.Form上传文件操作
2017/02/05 Javascript
JS对象序列化成json数据和json数据转化为JS对象的代码
2017/08/23 Javascript
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
使用webpack3.0配置webpack-dev-server教程
2018/05/29 Javascript
vue实现底部菜单功能
2018/07/24 Javascript
详解原生JS动态添加和删除类
2019/03/26 Javascript
Electron vue的使用教程图文详解
2019/07/05 Javascript
如何在项目中使用log4.js的方法步骤
2019/07/16 Javascript
vue二选一tab栏切换新做法实现
2021/01/19 Vue.js
浅析Python多线程下的变量问题
2015/04/28 Python
Python构建图像分类识别器的方法
2019/01/12 Python
python TF-IDF算法实现文本关键词提取
2019/05/29 Python
CSS3实现线性渐变用法示例代码详解
2020/08/07 HTML / CSS
HTML5的video标签的浏览器兼容性增强方案分享
2016/05/19 HTML / CSS
NIHAOMARKET官方海外旗舰店:意大利你好华人超市
2018/01/27 全球购物
英国假睫毛购买网站:FalseEyelashes.co.uk
2018/05/23 全球购物
印度最大的时尚购物网站:Myntra
2018/09/13 全球购物
同步和异步有何异同,在什么情况下分别使用他们?举例说明
2014/02/27 面试题
教育课题研究自我鉴定范文
2013/12/28 职场文书
积极分子思想汇报
2014/01/04 职场文书
优秀语文教师事迹
2014/05/18 职场文书
企业计划生育责任书
2015/05/09 职场文书
回复函格式及范文
2015/07/14 职场文书
【海涛教你打dota】体验一超神发条:咱是抢盾专业户
2022/04/01 DOTA