Python whois
What is whois?
Whois is a protocol used to identify the owner of the registered domain name. It is a querying database that is used to record the registered users.
WHOIS is a short form for “Who is responsible for this domain name?” and is not an acronym.
Python-whois module is used for this protocol, which is available at given below link:
https://pypi.python.org/pypi/python-whois.
It doesn’t have any external dependencies it only requires python’s standard library.
It is able to extract for all TLDs (org, com, net,...)
Features in whois
- Data retrieval
- Ready to follow WHOIS server redirects
- Will not stall out on multiple outcome responses from verisign-grs
- Data parsing
- Registrant information
- Date/time
- Base information
- Nameservers
- Pwhois
- Output format which is easily redable
- Output raw whois data
- Automated testing suite
- Will distinguish and caution about any progressions in parsed information contrasted with past runs.
- Ensures that already working WHOIS parsing doesn't inadvertently break while changing code
- Optional data normalization
- Endeavors to intelligently reformat WHOIS information for better (human) readability.
- Changes over different abbreviation types to full region names.
IP range
pythonwhois doesn't yet uphold WHOIS queries on IP ranges (counting single IPs), this will be added sooner or later. Meanwhile, consider utilizing ipwhois - it offers usefulness and an API like pythonwhois, yet for IPs. It additionally upholds appointed RWhois.
Do take note of that ipwhois doesn't offer a normalization feature, and doesn't (yet) accompany an command-line feature or tool. make a point to record bugs connecting with it in the ipwhois archive, not in that of pythonwhois.
Data sources
This library utilizes various outsider datasets for normalization:
Following datasets information are taken from github.com
- airports.dat: OpenFlights Airports Database (Open Database License 1.0, Database Contents License 1.0)
- countries.dat: Country List (MIT license)
- countries3.dat: ISO countries list (license unspecified)
- states_au.dat: Part of pythonwhois (WTFPL/CC0)
- states_us.dat: State Table (license unspecified, free reuse encouraged)
- states_ca.dat: State Table (license unspecified, free reuse encouraged)
Know that the OpenFlights data set specifically has potential permitting outcomes; in the event that you don't wish to be limited by these likely results, you may basically erase the airports.dat record from your distribution. pythonwhois will expect there is no information base accessible, and won't perform airport code conversion (yet work accurately in any case). This likewise applies to other included datasets.
How to install Pywhois?
To install pywhois you have to run this code in terminal
“pip install python-whois”
Now you just have to import it and you can perform that just by using
“import whois”
All TLDs and ccTLD support
- ac.uk
- .am
- .amsterdam
- .ar
- .at
- .au
- .aw
- .bank
- .be
- .biz
- .br
- .by
- .ca
- .cc
- .cl
- .club
- .cn
- .co
- .co.il
- .co.jp
- .com
- .com.au
- .com.tr
- .courses
- .cr
- .cz
- .de
- .download
- .edu
- .education
- .eu
- .fi
- .fm
- .fr
- frl
- .game.ie
- .im
- .in
- .info
- .ink
- .io
- .ir
- .is
- .it
- .jp
- .kr
- .kz
- .link
- .lt
- .lv
- .me
- .ml
- .mobi
- .mu
- .mx
- .name
- .net
- .ninja
- .nl
- .nu
- .nyc
- .nz
- .online
- .org
- .pe
- .pharmacy
- .pl
- .press
- .pt
- .pub
- .pw
- .rest
- .ru
- .sale
- .se
- .security
- .sh
- .site
- .space
- .store
- .study
- .tech
- .tel
- .theatre
- .tickets
- .trade
- .tv
- .tz
- .ua
- .uk
- .us
- .uz
- .video
- .website
- .wiki
- .work
- .xyz
- .za
- .id
- .global
- .hk
Is Whois illegal?
With the introduction of General Data Protection Regulation (GDPR) the implications are discussed widely and there is conflict between GDPR and WHOIS. GDPR doesn’t allow companies to publish individual’s data.
Presently, the WHOIS protocol distributes the names, locations, and telephone quantities of the people who register an Internet domain. However, this framework will become illegal under the GDPR, as it doesn't request the consent of these individuals prior to sharing their actually recognizable information.
implies that the current public WHOIS framework is incompatible with the data protection standards of the GDPR.
ICANN(Internet Corporation for Assigned Names and Numbers) reported that it would not make a legitimate move against domain registrars for neglecting to follow authoritative commitments with respect to the administration of registration data. As such, the company won't act against the individuals who don't distribute the WHOIS data until a long-lasting arrangement that lines up with the GDPR requirement has been found.
The Temporary Specification gives a single, unified interim model that guarantees a typical structure for dealing with registration data, including registration directory administrations (for example WHOIS). It plans to guarantee the proceeded accessibility of WHOIS furthest degree possible while keeping up with the security and stability of the Internet's arrangement of unique identifiers.
Support
Python 3.x is supported.
Python 2.x IS NOT supported.
How to use WHOIS?
$pip install whois
>>> import whois
>>> domain = whois.query('google.com')
>>> print(domain.__dict__)
{
'expiration_date': datetime.datetime(2020, 9, 14, 0, 0),
'last_updated': datetime.datetime(2011, 7, 20, 0, 0),
'registrar': 'MARKMONITOR INC.',
'name': 'google.com',
'creation_date': datetime.datetime(1997, 9, 15, 0, 0)
}
>>> print(domain.name)
google.com
>>> print(domain.expiration_date)
2020-09-14 00:00:00