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中使用copy模块实现列表(list)拷贝
Apr 14 Python
python图像处理之镜像实现方法
May 30 Python
Python 探针的实现原理
Apr 23 Python
python进阶之多线程对同一个全局变量的处理方法
Nov 09 Python
Python简单获取二维数组行列数的方法示例
Dec 21 Python
对Python3 pyc 文件的使用详解
Feb 16 Python
Python 数据可视化pyecharts的使用详解
Jun 26 Python
Python 3 实现定义跨模块的全局变量和使用教程
Jul 07 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
Jul 12 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
Apr 20 Python
python 使用建议与技巧分享(四)
Aug 18 Python
高考要来啦!用Python爬取历年高考数据并分析
Jun 03 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 session常见问题集锦及解决办法总结
2007/03/18 PHP
gd库图片下载类实现下载网页所有图片的php代码
2012/08/20 PHP
php实现二进制和文本相互转换的方法
2015/04/18 PHP
php生成过去100年下拉列表的方法
2015/07/20 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
2015/12/17 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
2017/01/24 PHP
PHP中Laravel 关联查询返回错误id的解决方法
2017/04/01 PHP
php + ajax 实现的写入数据库操作简单示例
2020/05/16 PHP
js日历功能对象
2012/01/12 Javascript
怎么判断js脚本加载完成
2014/02/28 Javascript
JavaScript设计模式之外观模式实例
2014/10/10 Javascript
javascript关于open.window子页面执行完成后刷新父页面的问题分析
2015/04/27 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
Javascript技术栈中的四种依赖注入小结
2016/02/27 Javascript
JS中的forEach、$.each、map方法推荐
2016/04/05 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
2016/04/21 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
2018/05/26 Javascript
JavaScript单线程和任务队列原理解析
2020/02/04 Javascript
JavaScript实现栈结构Stack过程详解
2020/03/07 Javascript
vue抽出组件并传值实例
2020/07/31 Javascript
[00:52]黑暗之门更新 新英雄孽主驾临DOTA2
2016/08/24 DOTA
python实现字典(dict)和字符串(string)的相互转换方法
2017/03/01 Python
手把手教你python实现SVM算法
2017/12/27 Python
pandas object格式转float64格式的方法
2018/04/10 Python
Python调用服务接口的实例
2019/01/03 Python
Python @property装饰器原理解析
2020/01/22 Python
Python安装与卸载流程详细步骤(图解)
2020/02/20 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
2020/06/11 Python
如何完美的建立一个python项目
2020/10/09 Python
Django vue前后端分离整合过程解析
2020/11/20 Python
蔻驰西班牙官网:COACH西班牙
2019/01/16 全球购物
英国首屈一指的票务公司:See Tickets
2019/05/11 全球购物
员工年终演讲稿
2014/01/03 职场文书
作文批改评语大全
2014/04/23 职场文书
vue.js Router中嵌套路由的实用示例
2021/06/27 Vue.js