Überprüfen Sie, ob die domain registriert ist
Ich versuche, ein Skript zurückgibt, nicht registrierten domains. Ich arbeite in Python 2.7. Ich habe gelesen, dass das Modul whois
sollte in der Lage sein, das zu tun, aber der code, den ich geschrieben habe, löst einen Fehler aus.
Code:
import whois
domains = ['http://www.example.com']
for dom in domains:
domain = whois.Domain(dom)
print domain.registrar
Fehler:
domain = whois.Domain(dom)
File "C:\Python27\lib\site-packages\whois\_3_adjust.py", line 12, in __init__
self.name = data['domain_name'][0].strip().lower()
TypeError: string indices must be integers, not str
Haben Sie eine Idee, was falsch sein könnte? Oder können Sie mir eine bessere Lösung?
EDIT: ich habe versucht, die pythonwhois Modul, aber es gibt einen Fehler zu.
EDIT2: Nach einer Lösung hier, ALSO, ich habe versucht, zu verwenden pywhois
dieser code wirft einen Fehler zu.
import pywhois
w = pywhois.whois('google.com')
w.expiration_date
FEHLER:
w = pywhois.whois('google.com')
AttributeError: 'module' object has no attribute 'whois'
- Hat whois-Modul für Sie gearbeitet?
- Nein, es kam nicht. Es wirft Fehler, etwas mit dem Teilprozess, so kann es ein weiteres problem.
- Haben Sie pip zu installieren, oder eine andere Methode? Ich bin auf ubuntu und verwendet pip zu installieren.Und dieser code funktionierte für mich.
- Der domain-name getestet sollte nicht beinhalten weder
http://
nochwww.
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
mit pythonwhois wenn Sie bevorzugen, es könnte sein,
gibt ein Wörterbuch
edit: ich habe Ihre
whois
dieser code funktionierte für mich.
diese api benutzt unix - /linux-whois-shell-Befehl und wie es gezeigt hier Sie sollten nicht hinzufügen
http://
vor dem domain-Namen. oder wenn Sie einen unix/linux-Maschine zu testen diese:aber mit http (ist es vielleicht, weil der http(s) ist nur ein Protokoll geben, und nicht jede realiton mit den domain-Namen selbst)
Ich habe Probleme mit python-whois in Python 3, aber Python 2 funktioniert bei mir mit dem folgenden code.
Zuerst, ich würde empfehlen, die deinstallation einer whois-Modul(en), die Sie installiert haben könnten. Beide python-whois (0.6.1) und whois (0.7) verwenden Sie die gleichen
import whois
, die einige zusätzliche Verwirrung für mich.Next, install python-whois-durch Eingabeaufforderung, Terminal, etc.
pip install python-whois
Einmal installiert, geben Sie den folgenden code in Ihre bevorzugte python-IDE.
Das Ergebnis ist ein Wörterbuch.
Whois Projekt wurde verschoben, um die github, können Sie es mit
pip install python-whois
:Installation
Müssen Sie möglicherweise ausführen
pip3 install pythonwhois --user
oder etwas ähnliches.Code
Ich habe die Dokumentation und für mich gearbeitet.Domain-name sollte so sein mysite.com(nicht http://www.example.com)
EDIT:1 ich weiß nicht, warum es nicht für andere zu arbeiten und Fehler erhalten.
Ich bin Entsendung ein screenshot von meinem terminal
AttributeError: 'NoneType' object has no attribute 'registrar'
genau Ihrem Beispiel