首页
运维教程
Linux基础
系统服务
系统架构
数据库
shell脚本
虚拟化
大数据
DevOps
企业案例
运维开发
python
go语言
运维安全
行业资讯
网络基础
系统安全
运维面试
学习路线
学习方法
面试题库
职场解惑
软件
运维软件
办公软件
书籍资源
技术陪跑营
重要信息
首页 运维教程shell脚本域名过期提前通知脚本

域名过期提前通知脚本

 #!/root/.virtualenvs/script/bin/python

#coding=utf-8

import re

import time, mechanize

import urllib2

import random

URL = ‘http://whois.chinaz.com/’

def str_cut(str,startsep,endsep):

    str1=str.split(startsep)[1]

    str2=str1.split(endsep)[0]

    return str2

br = mechanize.Browser()

br.set_handle_equiv(True)

br.set_handle_gzip(False)

br.set_handle_redirect(True)

br.set_handle_referer(True)

br.set_handle_robots(True)

br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)

#br.set_debug_http(True)

#br.set_debug_redirects(True)

#br.set_debug_responses(True)

br.addheaders = [(‘User-agent’, ‘Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.

1’)]

domain_list = [你的域名列表]

r = br.open(URL)

for index, item in enumerate(domain_list):

    try:

        br.select_form(nr=0)

        br.form[‘DomainName’] = item

        br.submit()

        contents = br.response().read()

        if contents.find(‘

<

div id=”whoisinfo” class=”div_whois”>’)-1:

            print item +  ” ” + “not found”

        else:

            contents=str_cut(contents,’

‘,’

‘)

            contents=contents.replace(‘
‘,’,’)[:-1]

            a = re.split(‘,’,contents)

            for i in a:

                m = re.match(r”过期时间”, i)

                if m:

                    print ‘域名 : %s, 过期时间 : %s’ % (item, re.sub(r”年|月”, ‘-‘, i[15:-3]).strip()[:10])

        br.back()

    except Exception,e:

        print Exception,”:”,e

    time.sleep(1.27*random.randint(4, 12))

本文链接:http://www.geekyunwei.com/1857.html

网友评论comments

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

暂无评论

Copyright © 2021 极客运维 公众号《极客运维之家》
扫二维码
扫二维码
返回顶部