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代码使其加快作用域内的查找
Mar 30 Python
浅析Python中的getattr(),setattr(),delattr(),hasattr()
Jun 14 Python
python3安装crypto出错及解决方法
Jul 30 Python
Python 获取项目根路径的代码
Sep 27 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
Dec 18 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
Feb 06 Python
python的sys.path模块路径添加方式
Mar 09 Python
pygame实现飞机大战
Mar 11 Python
python写文件时覆盖原来的实例方法
Jul 22 Python
Python 实现简单的客户端认证
Jul 29 Python
Python 实现键盘鼠标按键模拟
Nov 18 Python
Python序列化模块JSON与Pickle
Jun 05 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
PHPThumb图片处理实例
2014/05/03 PHP
PHP连接SQLServer2005的方法
2015/01/27 PHP
php ajax数据传输和响应方法
2018/08/21 PHP
PHP 自动加载类原理与用法实例分析
2020/04/14 PHP
9个JavaScript评级/投票插件
2010/01/18 Javascript
Jquery进度条插件 Progress Bar小问题解决
2011/07/12 Javascript
js showModalDialog 弹出对话框的简单实例(子窗体)
2014/01/07 Javascript
红米手机抢购的js代码
2014/03/10 Javascript
window.location的重写及判断location是否被重写
2014/09/04 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
2016/01/12 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
2016/07/25 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
2016/12/15 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
js模拟百度模糊搜索的实例
2017/08/04 Javascript
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
node.js使用stream模块实现自定义流示例
2020/02/13 Javascript
javascript实现倒计时效果
2020/02/17 Javascript
小程序跳转H5页面的方法步骤
2020/03/06 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
2020/08/12 Javascript
[02:41]辉夜杯现场一家三口 “我爸玩风行 我玩血魔”
2015/12/27 DOTA
python 根据正则表达式提取指定的内容实例详解
2016/12/04 Python
Python中的几种矩阵乘法(小结)
2019/07/10 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
2019/08/10 Python
django admin 自定义替换change页面模板的方法
2019/08/23 Python
python 实现让字典的value 成为列表
2019/12/16 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
2020/02/25 Python
详解Pycharm出现out of memory的终极解决方法
2020/03/03 Python
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
党校培训自我鉴定
2014/02/01 职场文书
本科毕业生求职自荐信
2014/02/03 职场文书
Nginx的rewrite模块详解
2021/03/31 Servers
分析mysql中一条SQL查询语句是如何执行的
2021/06/21 MySQL
苹果的回收机器人可以通过拆解iPhone获取大量的金和铜并外公布了环境保护最新进展
2022/04/21 数码科技
了解MySQL查询语句执行过程(5大组件)
2022/08/14 MySQL