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 相关文章推荐
zbar解码二维码和条形码示例
Feb 07 Python
python解决js文件utf-8编码乱码问题(推荐)
May 02 Python
对pandas replace函数的使用方法小结
May 18 Python
Python简单爬虫导出CSV文件的实例讲解
Jul 06 Python
对python模块中多个类的用法详解
Jan 10 Python
Python动态赋值的陷阱知识点总结
Mar 17 Python
python opencv 批量改变图片的尺寸大小的方法
Jun 28 Python
Django集成celery发送异步邮件实例
Dec 17 Python
基于python实现生成指定大小txt文档
Jul 20 Python
Python实现排序方法常见的四种
Jul 15 Python
梳理总结Python开发中需要摒弃的18个坏习惯
Jan 22 Python
如何Python使用re模块实现okenizer
Apr 30 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遍历数组的方法分享
2012/03/22 PHP
分享下PHP register_globals 值为on与off的理解
2013/09/26 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
Laravel实现自定义错误输出内容的方法
2016/10/10 PHP
Laravel框架学习笔记之批量更新数据功能
2019/05/30 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
2013/05/07 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
JS中prototype的用法实例分析
2015/03/19 Javascript
详解javascript中原始数据类型Null和Undefined
2015/12/17 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(三)
2016/09/14 Javascript
Vue.js结合bootstrap实现分页控件
2017/03/10 Javascript
利用原生JS实现data方法示例代码
2019/05/28 Javascript
typescript nodejs 依赖注入实现方法代码详解
2019/07/21 NodeJs
JavaScript如何判断input数据类型
2020/02/06 Javascript
jquery实现的放大镜效果示例
2020/02/24 jQuery
vue 百度地图(vue-baidu-map)绘制方向箭头折线实例代码详解
2020/04/28 Javascript
简单使用Python自动生成文章
2014/12/25 Python
使用Python发送各种形式的邮件的方法汇总
2015/11/09 Python
python利用拉链法实现字典方法示例
2017/03/25 Python
程序员写Python时的5个坏习惯,你有几条?
2018/11/26 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
python循环输出三角形图案的例子
2019/11/22 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
2020/01/14 Python
Python turtle画图库&amp;&amp;画姓名实例
2020/01/19 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
django使用graphql的实例
2020/09/02 Python
利用Python实现自动扫雷小脚本
2020/12/17 Python
纯CSS3实现的8种Loading动画效果
2014/07/05 HTML / CSS
使用css3实现的tab选项卡代码分享
2014/12/09 HTML / CSS
马来西亚奢侈品牌购物商城:Valiram 247
2020/09/29 全球购物
女方离婚起诉书
2015/05/18 职场文书
有关水浒传的读书笔记
2015/06/25 职场文书
2015中秋节晚会主持词
2015/07/01 职场文书
《迟到》教学反思
2016/02/24 职场文书
Redis字典实现、Hash键冲突及渐进式rehash详解
2021/09/04 Redis