python3實(shí)現(xiàn)域名查詢和whois查詢功能
1. 域名查詢
萬網(wǎng)提供了域名查詢接口,接口采用HTTP協(xié)議:
接口URL:http://panda.www.net.cn/cgi-bin/check.cgi
接口參數(shù):area_domain,接口參數(shù)值為標(biāo)準(zhǔn)域名,例:doucube.com
調(diào)用舉例:
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>
返回結(jié)果說明:
<returncode>200</returncode> 返回碼,200表示返回成功 <key>doucube.com</key> 表示當(dāng)前查詢的域名 <original>211 : Domain name is not available</original> 返回結(jié)果的原始信息,主要有以下幾種 original=210 : Domain name is available 表示域名可以注冊(cè) original=211 : Domain name is not available 表示域名已經(jīng)注冊(cè) original=212 : Domain name is invalid 表示查詢的域名無效 original=213 : Time out 查詢超時(shí)
用python3實(shí)現(xiàn)如下
1.1 查詢已經(jīng)被注冊(cè)的域名
import urllib.request req = urllib.request.urlopen('http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=doucube.com') print(req.read().decode())
返回結(jié)果:不可用,已經(jīng)被注冊(cè)
<?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 查詢沒有被注冊(cè)的域名
req2 = urllib.request.urlopen('http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=doucube.net')
print(req2.read().decode())
返回結(jié)果:可用,未被注冊(cè)
<?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())
返回結(jié)果:域名無效
<?xml version="1.0" encoding="gb2312" ?> - <property> <returncode>200</returncode> <key>doucube.net2</key> <original>212 : Domain name is invalid</original> </property>
.whois查詢
由于沒有找到像域名查詢接口那樣好的API,這里直接抓取站長之家的whois查詢頁面(http://whois.chinaz.com/)
req_whois = urllib.request.urlopen('http://whois.chinaz.com/doucube.com') print(req_whois.read().decode())
在返回的結(jié)果中有這樣一段html代碼,這段信息就是查詢的whois信息
<div style=" text-align:center;"> <div class="div_whois"> 域名:doucube.com <a target=_blank>訪問此網(wǎng)站</a></div> <div id="whoisinfo" class="div_whois"> 注冊(cè)商:GODADDY.COM, LLC<br/> 域名服務(wù)器:whois.godaddy.com<br/> DNS服務(wù)器:DNS1.FREEHOSTIA.COM<br/> DNS服務(wù)器:DNS2.FREEHOSTIA.COM<br/> 域名狀態(tài):運(yùn)營商設(shè)置了客戶禁止刪除保護(hù)<br/> 域名狀態(tài):運(yùn)營商設(shè)置了客戶禁止續(xù)費(fèi)保護(hù)<br/> 域名狀態(tài):運(yùn)營商設(shè)置了客戶禁止轉(zhuǎn)移保護(hù)<br/> 域名狀態(tài):運(yùn)營商設(shè)置了客戶禁止修改保護(hù)<br/> 更新時(shí)間:2012年05月28日<br/> 創(chuàng)建時(shí)間:2012年05月23日<br/> 過期時(shí)間:2013年05月23日<br/> 聯(lián)系人:zhu, alice<br/> 聯(lián)系方式:<img src="/displayemail.aspx?email=M8N8oc1O|iQhqGCDHdpH9m77v2qrQfW8"/> <br/> <br/> </div> </div>
- 淺談Python2、Python3相對(duì)路徑、絕對(duì)路徑導(dǎo)入方法
- python3讀取csv和xlsx文件的實(shí)例
- Python3導(dǎo)入CSV文件的實(shí)例(跟Python2有些許的不同)
- 詳解python3中tkinter知識(shí)點(diǎn)
- Python3用tkinter和PIL實(shí)現(xiàn)看圖工具
- Python3.4 tkinter,PIL圖片轉(zhuǎn)換
- Python3實(shí)現(xiàn)轉(zhuǎn)換Image圖片格式
- python3實(shí)現(xiàn)windows下同名進(jìn)程監(jiān)控
- python3實(shí)現(xiàn)磁盤空間監(jiān)控
- python3監(jiān)控CentOS磁盤空間腳本
- Python3中詳解fabfile的編寫
相關(guān)文章
Python使用Py2neo創(chuàng)建Neo4j的節(jié)點(diǎn)和關(guān)系
Neo4j是一款開源圖數(shù)據(jù)庫,使用Python語言訪問Neo4j可以使用Py2neo。本文介紹了使用Py2neo訪問Neo4j,批量創(chuàng)建節(jié)點(diǎn)和關(guān)系的方法2021-08-08python中sleep函數(shù)用法實(shí)例分析
這篇文章主要介紹了python中sleep函數(shù)用法,實(shí)例分析了sleep函數(shù)的功能及使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04Python爬蟲scrapy框架Cookie池(微博Cookie池)的使用
這篇文章主要介紹了Python爬蟲scrapy框架Cookie池(微博Cookie池)的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01編寫Python腳本抓取網(wǎng)絡(luò)小說來制作自己的閱讀器
這篇文章主要介紹了編寫Python腳本抓取網(wǎng)絡(luò)小說來制作自己的閱讀器的方法,包括對(duì)小說的章節(jié)排列等方面的優(yōu)化,對(duì)于Python學(xué)習(xí)者來說非常具有實(shí)踐意義!需要的朋友可以參考下2015-08-08