谁在查询和解析域名注册信息。

python-whois的Python项目详细描述


目标

  • 创建一个简单的可导入python模块,该模块将生成解析的 谁是给定域的数据。
  • 能够为所有流行的tld(com,org,net,…)提取数据。
  • 直接查询whois服务器而不是通过 中间Web服务和其他许多服务一样。
  • 与python 2&3一起使用

示例

>>>importwhois>>>w=whois.whois('webscraping.com')>>>w.expiration_date# dates converted to datetime objectdatetime.datetime(2013,6,26,0,0)>>>w.text# the content downloaded from whois serveru'\nWhois Server Version 2.0\n\nDomain names in the .com and .net...'>>>printw# print values of all found attributescreation_date:2004-06-2600:00:00domain_name:[u'WEBSCRAPING.COM',u'WEBSCRAPING.COM']emails:[u'WEBSCRAPING.COM@domainsbyproxy.com',u'WEBSCRAPING.COM@domainsbyproxy.com']expiration_date:2013-06-2600:00:00...

安装

从pypi安装:

$ pip install python-whois

或从存储库中签出最新版本:

$ hg clone https://bitbucket.org/richardpenman/pywhois

注意,然后需要手动安装futures模块,该模块允许同时支持python 2&3:

$ pip install futures

为python 2&3运行测试用例:

$ python -m unittest discover test
.............
----------------------------------------------------------------------
Ran 13 tests in 0.812s

OK

$ python3 -m unittest discover test
.............
----------------------------------------------------------------------
Ran 13 tests in 1.431s

OK

SOCKS代理支持要求:

$ pip install PySocks
............
---------------------------------------------------------------------
$ exportSOCKS=socksproxy.someplace.com:8080

有问题吗?

欢迎拉取请求!

多亏了许多人已经发送了额外的tld补丁。如果你想添加或修复一个tld,这很简单。 参见whois/parser.py

中的示例域

基本上,每个TLD的格式与以下类似:

classWhoisOrg(WhoisEntry):"""Whois parser for .org domains
"""regex={'domain_name':'Domain Name: *(.+)','registrar':'Registrar: *(.+)','whois_server':'Whois Server: *(.+)',...}def__init__(self,domain,text):iftext.strip()=='NOT FOUND':raisePywhoisError(text)else:WhoisEntry.__init__(self,domain,text)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java是数据线。getMicrosecondPosition()线程安全?   java我可以设置多个。whereEqualTo在firestore查询中指向文档中的字段?   java Intellij 14 Glassfish服务器未连接。部署不可用   java JPA。如何返回null而不是LazyInitializationException   java TarsosDSP Clap检测   比较基于字符串的java枚举   java空指针异常日历。设定时间   java Hystrix在运行时忽略超时   将数据从Java RESTful服务器推送到Android手机上进行通知   java Jnotify delete vs shift delete问题   java安装失败\u没有匹配\u ABIS res113   TreeJava:传递未实例化的对象引用是如何工作的?   java如何使用Android ringtone manager从资产文件夹播放铃声?   java在Dropwizard的不同状态下使用不同的模拟