python-whois 域名whois信息查询利器

@高效码农  February 6, 2021

python-whois

简介

python-whois一个用于查询域名whois信息的python包,比whois包速度更快、查询数据更多、更详细

功能

  • 一个简单的可导入Python模块,该模块将为给定域生成已解析的WHOIS数据。
  • 能够提取所有主流的TLD(com,org,net等)的数据
  • 直接查询WHOIS服务器,而不是像其他许多服务一样通过中间Web服务。
  • 适用于Python 2和3

使用

1、安装
pip install python-whois
2、测试
python3 -m unittest discover test

输出:

{
  "domain_name": [
    "YNFMACHINERYPARTS.COM",
    "ynfmachineryparts.com"
  ],
  "registrar": "SHANGHAI MEICHENG TECHNOLOGY INFORMATION DEVELOPMENT CO., LTD.",
  "whois_server": "grs-whois.cndns.com",
  "referral_url": null,
  "updated_date": [
    "2020-12-08 07:49:14",
    "2019-08-14 12:18:03"
  ],
  "creation_date": "2018-02-03 00:37:32",
  "expiration_date": [
    "2025-02-03 00:37:32",
    "2025-02-03 08:37:32"
  ],
  "name_servers": [
    "NS1.ES1003.SITEGROUND.EU",
    "NS2.ES1003.SITEGROUND.EU"
  ],
  "status": [
    "clientTransferProhibited https://icann.org/epp#clientTransferProhibited",
    "ok https://icann.org/epp#ok"
  ],
  "emails": "domain@cndns.com",
  "dnssec": "unsigned",
  "name": null,
  "org": null,
  "address": null,
  "city": null,
  "state": "Shanghai",
  "zipcode": null,
  "country": "cn"
}
[datetime.datetime(2025, 2, 3, 0, 37, 32), datetime.datetime(2025, 2, 3, 8, 37, 32)]

----------------------------------------------------------------------
Ran 0 tests in 0.000s
3、使用示例
import pprint
import whois

domain = whois.whois('xugj520.cn')
pprint.pprint(domain)
print('name: ' + domain.domain_name)

输出:

{'creation_date': datetime.datetime(2019, 3, 5, 22, 27, 20),
 'dnssec': 'unsigned',
 'domain_name': 'xugj520.cn',
 'emails': 'xxx2701@qq.com',
 'expiration_date': datetime.datetime(2022, 3, 5, 22, 27, 20),
 'name': 'xxx',
 'name_servers': ['f1g1ns1.dnspod.net', 'f1g1ns2.dnspod.net'],
 'registrar': '北京新网数码信息技术有限公司',
 'status': 'ok'}
name: xugj520.cn

Process finished with exit code 0
4、使用代理

部分whois服务器在国外的查询速度有些慢,如果想快一点还可以设置代理

$ pip install PySocks
$ export SOCKS=socksproxy.someplace.com:8080


评论已关闭