python3实现域名查询和whois查询

简介: 关键字:python3 域名查询 域名查询接口 whois查询原文:http://www.cnblogs.com/txw1958/archive/2012/08/31/python3-domain-whois.

关键字:python3 域名查询 域名查询接口 whois查询
原文:http://www.cnblogs.com/txw1958/archive/2012/08/31/python3-domain-whois.html 

1. 域名查询
万网提供了域名查询接口,接口采用HTTP协议:
接口URL:http://panda.www.net.cn/cgi-bin/check.cgi
接口参数:area_domain,接口参数值为标准域名,例:doucube.com
调用举例:

http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=doucube.com

返回:

  <?xml version="1.0" encoding="gb2312" ?> 
- <property>
  <returncode>200</returncode> 
  <key>doucube.com</key> 
  <original>211 : Domain name is not available</original> 
  </property>

返回结果说明:

<returncode>200</returncode> 返回码,200表示返回成功
<key>doucube.com</key>  表示当前查询的域名
<original>211 : Domain name is not available</original> 返回结果的原始信息,主要有以下几种

original=210 : Domain name is available 表示域名可以注册 original=211 : Domain name is not available 表示域名已经注册 original=212 : Domain name is invalid 表示查询的域名无效 original=213 : Time out 查询超时

 

用python3实现如下

 1.1 查询已经被注册的域名

import urllib.request
req = urllib.request.urlopen('http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=doucube.com')
print(req.read().decode())

返回结果:不可用,已经被注册

<?xml version="1.0" encoding="gb2312" ?> 
- <property>
  <returncode>200</returncode> 
  <key>doucube.com</key> 
  <original>211 : Domain name is not available</original> 
  </property>

1.2 查询没有被注册的域名

req2 = urllib.request.urlopen('http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=doucube.net')
print(req2.read().decode())

返回结果:可用,未被注册

  <?xml version="1.0" encoding="gb2312" ?> 
- <property>
  <returncode>200</returncode> 
  <key>doucube.net</key> 
  <original>210 : Domain name is available</original> 
  </property>

1.3 查询不存在的域名,使用不存在的后缀

req3 = urllib.request.urlopen('http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=doucube.net2')
print(req3.read().decode())

返回结果:域名无效

  <?xml version="1.0" encoding="gb2312" ?> 
- <property>
  <returncode>200</returncode> 
  <key>doucube.net2</key> 
  <original>212 : Domain name is invalid</original> 
  </property>

 

2.whois查询
由于没有找到像域名查询接口那样好的API,这里直接抓取站长之家的whois查询页面(http://whois.chinaz.com/)

req_whois = urllib.request.urlopen('http://whois.chinaz.com/doucube.com')
print(req_whois.read().decode())

在返回的结果中有这样一段html代码,这段信息就是查询的whois信息

<div style=" text-align:center;"> 
    <div class="div_whois">
        域名:doucube.com&nbsp;&nbsp;
        <a href='http://www.doucube.com' target=_blank>访问此网站</a></div>
    <div id="whoisinfo" class="div_whois">
        注册商:GODADDY.COM, LLC<br/>
        域名服务器:whois.godaddy.com<br/>
        DNS服务器:DNS1.FREEHOSTIA.COM<br/>
        DNS服务器:DNS2.FREEHOSTIA.COM<br/>
        域名状态:运营商设置了客户禁止删除保护<br/>
        域名状态:运营商设置了客户禁止续费保护<br/>
        域名状态:运营商设置了客户禁止转移保护<br/>
        域名状态:运营商设置了客户禁止修改保护<br/>
        更新时间:2012年05月28日<br/>
        创建时间:2012年05月23日<br/>
        过期时间:2013年05月23日<br/>
        联系人:zhu, alice<br/>
        联系方式:<img src="/displayemail.aspx?email=M8N8oc1O|iQhqGCDHdpH9m77v2qrQfW8"/>
        <br/>
        <br/>
    </div>
</div>
相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
28天前
|
Python
Python实现简易天气查询系统
Python实现简易天气查询系统
28 4
|
1月前
|
缓存 API 定位技术
使用Python调用百度地图API实现地址查询
使用Python调用百度地图API实现地址查询
100 0
|
1月前
|
SQL 关系型数据库 MySQL
用 Python 连接数据库并进行查询。
【2月更文挑战第12天】【2月更文挑战第32篇】用 Python 连接数据库并进行查询。
|
4天前
域名信息查询同款WHOIS源码
域名查询一般是指查询域名的whois注册信息,域名WHOIS是当前域名系统中不可或缺的一项信息服务。在使用域名进行Internet冲浪时,很多用户希望进一步了解域名、名字服务器详细信息,这就会用到WHOIS。
17 5
|
9天前
|
网络协议 Ubuntu Linux
|
1月前
|
数据采集 搜索推荐 数据挖掘
使用Python制作一个批量查询搜索排名的SEO免费工具
最近工作中需要用上 Google SEO(搜索引擎优化),有了解过的朋友们应该都知道SEO必不可少的工作之一就是查询关键词的搜索排名。关键词少的时候可以一个一个去查没什么问题,但是到了后期,一个网站都有几百上千的关键词,你再去一个一个查,至少要花费数小时的时间。 虽然市面上有很多SEO免费或者收费工具,但免费的基本都不能批量查,网上免费的最多也就只能10个10个查询,而且查询速度很慢。收费的工具如Ahrefs、SEMrush等以月为单位收费最低也都要上百美刀/月,当然如果觉得价格合适也可以进行购买,毕竟这些工具的很多功能都很实用。今天我给大家分享的这个排名搜索工具基于python实现,当然肯定
40 0
|
1月前
|
网络协议 Shell Linux
【Shell 命令集合 系统管理 】Linux 查询域名的注册信息 whois命令 使用指南
【Shell 命令集合 系统管理 】Linux 查询域名的注册信息 whois命令 使用指南
48 1
|
1月前
|
数据采集 安全 网络协议
收集子域名信息(二):第三方网站查询
收集子域名信息(二):第三方网站查询
21 1
|
1月前
|
SQL NoSQL MongoDB
python MongoClient 创建数据库,并且创建表插入一行数据并查询
要在MongoDB中创建一个数据库、一个集合(在MongoDB中,集合类似于SQL中的表)并插入一行数据,你可以使用MongoDB的官方驱动程序。以下是一个使用Python的pymongo库来执行这些操作的示例: 首先,确保你已经安装了pymongo库。你可以使用pip来安装: bash pip install pymongo 接下来,使用以下Python代码来创建数据库、集合、插入数据并查询: python from pymongo import MongoClient # 连接到MongoDB服务器 client = MongoClient('mongodb://loc
|
2月前
|
JavaScript 前端开发 网络协议
Python之JavaScript逆向系列——1、URL——域名
Python之JavaScript逆向系列——1、URL——域名
25 0