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使用socket进行简单网络连接的方法
Apr 29 Python
Python中文字符串截取问题
Jun 15 Python
Jupyter notebook远程访问服务器的方法
May 24 Python
在python中安装basemap的教程
Sep 20 Python
Python函数参数匹配模型通用规则keyword-only参数详解
Jun 10 Python
在Pycharm中使用GitHub的方法步骤
Jun 13 Python
选择Python写网络爬虫的优势和理由
Jul 07 Python
python中dict使用方法详解
Jul 17 Python
Python实现平行坐标图的绘制(plotly)方式
Nov 22 Python
pytorch 改变tensor尺寸的实现
Jan 03 Python
Python基础之变量的相关知识总结
Jun 23 Python
用Python仅20行代码编写一个简单的端口扫描器
Apr 08 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中ini_set和ini_get函数的用法小结
2014/02/18 PHP
Apache连接PHP后无法启动问题解决思路
2015/06/18 PHP
PHP基于PDO扩展操作mysql数据库示例
2018/12/24 PHP
弹出广告特效(一个IP只弹出一次)的代码
2007/07/27 Javascript
WordPress 照片lightbox效果的运用几点
2009/06/22 Javascript
js类型检查实现代码
2010/10/29 Javascript
js判断输入是否为正整数、浮点数等数字的函数代码
2010/11/17 Javascript
用jquery生成二级菜单的实例代码
2013/06/24 Javascript
jquery通过visible来判断标签是否显示或隐藏
2014/05/08 Javascript
javascript快速排序算法详解
2014/09/17 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
7个jQuery最佳实践
2016/01/12 Javascript
使用JavaScript获取Request中参数的值方法
2016/09/27 Javascript
AngularJS指令与控制器之间的交互功能示例
2016/12/14 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
Angular2安装angular-cli
2017/05/21 Javascript
js自定义Tab选项卡效果
2017/06/05 Javascript
JS库之Waypoints的用法详解
2017/09/13 Javascript
webpack4的迁移的使用方法
2018/05/25 Javascript
[05:23]DOTA2-DPC中国联赛2月1日Recap集锦
2021/03/11 DOTA
Python Web开发模板引擎优缺点总结
2014/05/06 Python
Python实现批量把SVG格式转成png、pdf格式的代码分享
2014/08/21 Python
利用python库在局域网内传输文件的方法
2018/06/04 Python
Python Pillow Image Invert
2019/01/22 Python
简单了解python gevent 协程使用及作用
2019/07/22 Python
python logging模块书写日志以及日志分割详解
2019/07/22 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
2020/06/18 Python
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
如何让IE9以下版本(ie6/7/8)认识html5元素
2013/04/01 HTML / CSS
HTML5开发动态音频图的实现
2020/07/02 HTML / CSS
主题婚礼策划方案
2014/02/10 职场文书
五一劳动节演讲稿
2014/09/12 职场文书
原告离婚代理词
2015/05/23 职场文书
Redis性能监控的实现
2021/07/09 Redis
Python 多线程处理任务实例
2021/11/07 Python
Windows server 2016服务器基本设置
2022/08/14 Servers