码迷,mamicode.com
首页 > Web开发 > 详细

python实现whois查询功能的方法源码

时间:2016-04-21 23:55:19      阅读:717      评论:0      收藏:0      [点我收藏+]

标签:

恐怕很多朋友跟我一样,使python语言居然实现whois服务器查询功能。下面我把代码和说明搬来给大家看看,有谁需要可以参考下。本来想直接从whois服务器查询的,但是发现要写socket 用43端口链接服务器,但是有些服务器的地址不清楚,而且查询命令貌似有改变所以不想折腾了,就想着直接用chinaz的页面实现一下算了。如下代码是在 win7下操作的,安装python3.2测试通过。

QQ截图20160420200120.png

Python3.2实现whois查询功能的方法源码:

# -*- coding:utf-8 -*-

 

import urllib.request

 

def str_cut(str,startsep,endsep):

    str1=str.split(startsep)[1]

    str2=str1.split(endsep)[0]

    return str2

 

def whois(host):

      url=’http://whois.chinaz.com/’+host

      data=urllib.request.urlopen(url).read()

      data=data.decode()

      if data.find(’<div id="whoisinfo" class="div_whois">’)==-1:

          data="该域名未注册,目前可以注册"

      else:

          data=str_cut(data,’<div id="whoisinfo" class="div_whois">’,’</div>’)

          data=data.replace(’<br/>’,’\\n’)[:-1]

      return ’查询域名:’+host+’\\n’+’-’*60+’\\n’+data

 

def query():

   host=input(’请输入域名不含"http://www.";(q/Q退出):’)[:-1]

   #data=whois(host)

   #print(data)

   host=host.lower()

   if host == ’q’:

       exit()

   else:

       data=whois(host)

       print(data)

       input(’\\n输入enter继续...\\n’)

   query()

query()

考虑到有些朋友在使用Python2.7版本,使用以上的代码会出现一些错误,我修改了一点,以便运行:

# -*- coding:utf-8 -*-

import urllib

 

def str_cut(str,startsep,endsep):

    str1=str.split(startsep)[1]

    str2=str1.split(endsep)[0]

    return str2

 

def whois(host):

      url=’http://whois.chinaz.com/’+host

      data=urllib.urlopen(url).read()

      if data.find(’<div id="whoisinfo" class="div_whois">’)==-1:

          data="该域名未注册,目前可以注册"

      else:

          data=str_cut(data,’<div id="whoisinfo" class="div_whois">’,’</div>’)

          data=data.replace(’<br/>’,’\\n’)

      return ’查询域名:’+host+’\\n’+’-’*60+’\\n’+data

 

def query():

   host=raw_input(’请输入域名不含"http://www.";(q/Q退出):’)

   host=host.lower()

   if host == ’q’:

       exit()

   else:

       data=whois(host)

       print(data)

       raw_input(u’输入enter继续...\\n’)

        

query()

以上就是Python实现whois查询功能的方法,Python3Python2都给出来了,希望能帮助到大家。

python实现whois查询功能的方法源码

标签:

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
jiangjie190
加入时间:2016-02-19
  关注此人  发短消息
文章分类
jiangjie190”关注的人------(0
jiangjie190”的粉丝们------(0
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!