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与js)两种实现
Feb 21 Python
python之模拟鼠标键盘动作具体实现
Dec 30 Python
Python列表(list)常用操作方法小结
Feb 02 Python
Python中字典的浅拷贝与深拷贝用法实例分析
Jan 02 Python
Python查看微信撤回消息代码
Jun 07 Python
使用Python做垃圾分类的原理及实例代码附源码
Jul 02 Python
python绘制已知点的坐标的直线实例
Jul 04 Python
Python 爬虫的原理
Jul 30 Python
python中selenium库的基本使用详解
Jul 31 Python
解决python的空格和tab混淆而报错的问题
Feb 26 Python
Python字节单位转换(将字节转换为K M G T)
Mar 02 Python
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
Apr 13 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怎么实现网站保存快捷方式方便用户随时浏览
2013/08/15 PHP
PHP5各个版本的新功能和新特性总结
2014/03/16 PHP
详解PHP 7.4 中数组延展操作符语法知识点
2019/07/19 PHP
javascript 三种编解码方式
2010/02/01 Javascript
基于jQuery的固定表格头部的代码(IE6,7,8测试通过)
2010/05/18 Javascript
idTabs基于JQuery的根据URL参数选择Tab插件
2012/04/11 Javascript
利用js读取动态网站从服务器端返回的数据
2014/02/10 Javascript
jQuery中阻止冒泡事件的方法介绍
2014/04/12 Javascript
Angularjs基础知识及示例汇总
2015/01/22 Javascript
jQuery无刷新分页完整实例代码
2015/10/27 Javascript
你知道setTimeout是如何运行的吗?
2016/08/16 Javascript
巧用数组制作图片切换js代码
2016/11/29 Javascript
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
Three.js利用顶点绘制立方体的方法详解
2017/09/27 Javascript
js中this的指向问题归纳总结
2018/11/28 Javascript
详解mpvue中小程序自定义导航组件开发指南
2019/02/11 Javascript
微信小程序new Date()方法失效问题解决方法
2019/07/29 Javascript
在Vue项目中,防止页面被缩放和放大示例
2019/10/28 Javascript
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
用pickle存储Python的原生对象方法
2017/04/28 Python
Python处理CSV与List的转换方法
2018/04/19 Python
对python插入数据库和生成插入sql的示例讲解
2018/11/14 Python
python selenium 弹出框处理的实现
2019/02/26 Python
python 用所有标点符号分隔句子的示例
2019/07/15 Python
python障碍式期权定价公式
2019/07/19 Python
简单了解python字符串前面加r,u的含义
2019/12/26 Python
树莓派升级python的具体步骤
2020/07/05 Python
浅谈keras中Dropout在预测过程中是否仍要起作用
2020/07/09 Python
python-地图可视化组件folium的操作
2020/12/14 Python
CSS3正方体旋转示例代码
2013/08/08 HTML / CSS
工厂保安员岗位职责
2014/01/31 职场文书
人力资源管理毕业生自荐信
2014/06/26 职场文书
日语系毕业求职信
2014/07/27 职场文书
党校党性分析材料
2014/12/19 职场文书
收费员岗位职责
2015/02/14 职场文书
结婚典礼主持词
2015/06/29 职场文书