×

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

  1. Data retrieval
    • Ready to follow WHOIS server redirects
    • Will not stall out on multiple outcome responses from verisign-grs
  2. Data parsing
    • Registrant information
    • Date/time
    • Base information
    • Nameservers
  3. Pwhois
    • Output format which is easily redable
    • Output raw whois data
  4. 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
  5. 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

  1. airports.dat: OpenFlights Airports Database (Open Database License 1.0, Database Contents License 1.0)
  2. countries.dat: Country List (MIT license)
  3. countries3.dat: ISO countries list (license unspecified)
  4. states_au.dat: Part of pythonwhois (WTFPL/CC0)
  5. states_us.dat: State Table (license unspecified, free reuse encouraged)
  6. 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

Related Topics

Python String capitalize() method

Python String capitalize() method The string.capitalize() method in Python returns a copy of the string with only its first character capitalized. Syntax string.capitalize() Parameter NA Return This function returns a string where the first character is upper...

1 minute read.

Change Data Type in Python

Python is a dynamic language where it is not always required to consider every variable type. Python supports a wide range of data types, but There are mainly six data...

3 minutes read.

Matrix List Comprehension in Python

Introduction One of Python's most beautiful features is list comprehension. Iterating over an iterable object to create lists is a clever and succinct method. Nested List or matrix list Comprehensions, which...

6 minutes read.

Captcha Code in Python with Example

Python Programming Language Python programming language is one of the most used programming languages, as it is used widely in the field of software and data analysis, web development, etc. It...

6 minutes read.

Python String rjust() method

Python String rjust() method The string.rjust() method in Python returns a right-justified string of a given minimum width where the padding is done using the specified fillchar (default is a space). It returns...

2 minutes read.

Front end in python

Python : Python is an object oriented programming language which is highly interpreted and is highly interactive. Python was created by Guido van Rossum in the year 1985 – 1990 .The...

4 minutes read.

What is Collaborative Filtering in ML, Python

Introduction Contents recommendation is a useful tactic for almost any specific technology looking to increase interest, but it frequently calls for a lot of user data and perhaps laborious content tagging...

3 minutes read.

Classes & Objects in Python

Classes and Objects are used in most modern programming languages, mainly in Object-oriented Programming languages. What is meant by Object Oriented Programming language? Usage of objects and their components in order to...

7 minutes read.

Python GUI Programming

GUI (Graphical User Interface) GUI is a graphics-based operating system that uses icons and menus to interact with the user. Python mostly works on CLI (Command Line Interface). Widgets Any user interface has...

4 minutes read.

Python System Requirements

Introduction As we know, Python is a popular programming language usually used to write scripts for operating systems. It’s handy adequate for utilizing in web development and application design. In this article,...

2 minutes read.

Reason for Python So Popular

One of the languages that is witnessing outstanding development and acceptance every year in Python. Python has emerged as the programming language with the greatest rate of growth, and Stack...

3 minutes read.

How to run Python code from the command prompt

The Windows operating system's command-line interpreter is CMD or Command Prompt. The "MS-DOS Prompt" is comparable to Command.com, used in DOS and Windows 9x computers. It is similar to Unix...

3 minutes read.

Python Variables, Constants and Literals

Python is today's most valuable, easy-to-implement and sought-out programming language. Nowadays, developers want to focus on implementing the program rather than spending time with complex programs. So, for this reason,...

17 minutes read.

Add Dictionary to Dictionary in Python

Dictionary in python: Python's execution of a data model, known more commonly as an implicit array, is a dictionary. A dictionary is made up of a group of key-value pairs. Each...

4 minutes read.

Python Slice from Last Occurrence of K

Introduction We already know that in Python, cutting produces a sub-string out of a string. The variables start, stop, and step are used to set the slicing range. When dealing on...

3 minutes read.

Python oct() function

Python oct() function The oct() function in Python converts an integer number to an octal string prefixed with “0o”. Syntax oct(x) Parameter x: This parameter represents an Integer Number Return This function returns an octal string. Example 1 #...

1 minute read.

Python Selectors

Python: Python is an interactive and more accessible language than any other programming language. The python programming language uses a variety of libraries to perform the operations in a faster way....

4 minutes read.

Sentiment Analysis using NLTK

Introduction Data is being produced at an astounding rate and volume in the field of the internet and other digital services nowadays. Researchers, engineers, and data analysts often work with tabular...

7 minutes read.

Python Escape Characters

In this tutorial, we will learn how to use the Escape Characters in Python. Escape Character: Escape Characters are used for some special meaning in our statements. It is denoted or represented...

3 minutes read.

Python Read CSV file

The CSV stands for “comma-separated value,” which is defined as a simple file format that is used to store data into a tabular form such as a database or spreadsheet. It is...

7 minutes read.