python域名分析工具实现代码
2023-06-13 09:14:11 时间
代码如下:
复制代码代码如下:
importsys,urllib
importdatetime,time
defgetDate():
strday=datetime.datetime.now().__str__()
strday=strday.split()[0]
returnstrday
#url="http://www.kingnic.com/list/2009-06-16.txt"
defgetUrl(dateStr=None):
baseUrl="http://www.kingnic.com/list/"
ifdateStr:
returnbaseUrl+dateStr+".txt"
thisDate=getDate();
ifnotthisDate:
print"ErrorDate!"
returnNone;
url=baseUrl+thisDate+".txt"
returnurl
defgetSource(url):
source=urllib.urlopen(url).read()
returnsource
defsave(source,filename="domains.txt"):
fp=open(filename,"w")
fp.write(source)
fp.close()
returnTrue;
defloadList(fileName="domains.txt"):
fp=open("domains.txt","r")
source=fp.readlines()
fp.close()
returnsource;
defgetPrefix(domain):
returndomain.split(".")[0]
defgetPostfix(domain):
returndomain.split(".")[1]
defhasMidLine(domain):
if"-"indomain:
returnTrue
else:
returnFalse
defparser(domains):
max=4
min=0
keyword=("sky","see","job")
result=[]
len_num=0;
mid_line_num=0;
fordomainindomains:
prefix=getPrefix(domain)
postfix=getPostfix(domain)
domainlen=len(prefix)
if(domainlen<min)or(domainlen>max):
len_num+=1
continue
ifhasMidLine(prefix):
mid_line_num+=1
continue
result.append(domain)
print"log:\n"
print"all:\t",len(domains)
print"lennotin[%s,%s]\t:%s"%(max,min,len_num)
print"contain"-":\t",mid_line_num
print"remain:\t",len(result)
returnresult;
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
lennotin[4,0]:55019
contain"-":32
remain:449
finished!!
对后缀、长度和有无“-”过滤,过滤条件有点少,其它以后如有需要再加。
相关文章
- 如何为pycharm配置Python解释器_pycharm选择python解释器
- python电脑版微信-微信PC版的API接口 | 可通过Python调用微信功能
- python中bool函数_bool()函数以及Python中的示例
- Python抓取数据_python抓取游戏数据
- 【Python专栏】机器学习和深度学习知识框架
- Python+virtualenv+Django+nginx+uwsgi+centos7部署web应用
- 【说站】python变量如何进行格式化输出
- Python实现自动回复_python 微信机器人
- pycharm和anaconda区别_python init
- python 获取图片分辨率_python读取图片分辨率
- python重复执行10次_卡bug
- pip怎么卸载安装包_python pip升级
- 超参数黑盒(Black-box)优化的Python代码示例
- Python绘制饼图
- 用Python学生信
- 【免杀】一种python反序列化免杀方式
- 【测试开发】python系列教程:Python注释和解释器
- python内置库和pandas中的时间常见处理(1)
- Python 智能项目:1~5
- 学习Python精通SQL Server操作技巧(python操作sqlserver)
- python事件驱动的小例子详解编程语言
- 快速查询MySQL数据库:Python篇(python查询mysql数据库)
- Python 是慢,但我无所谓
- 利用Neo4j和Python进行无缝图形数据库支持(neo4j python)
- 从 Python 连接到 MySQL:实现更多强大的数据库应用(python和mysql)
- Python操作MySQL数据库的必备模块mysqlpython(mysql_python)
- python网络编程学习笔记(九):数据库客户端DB-API
- python中的reduce内建函数使用方法指南