Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Skript/Programm zum Ausfiltern von Domain-Namen



Linus
15-07-2009, 21:30
Ich benötige ein Skript (mit awk oder sed oder ...) oder ein
Programm, das Domainnamen in Text-Dateien findet und in eine
Ausgabedatei ablegt, hauptsächlich für DNS-Server-Checker wie
ZensorChecker, DNS Blocklist Probe und Censorshiptools.

Das Ausfiltern sollte halbwegs korrekt erfolgen, also z. B.
aus

http://www.example.co.uk

NICHT

co.uk

ausfiltern sondern

example.co.uk

(das sogar existiert).
Gefunden habe ich in die Richtung schon urlparse für Python und
pars_url für PHP, aber ich kann weder Phython noch PHP :(
Perl kann ich etwas, Bash gut und C sehr gut; gibt es nicht auch
dafür etwas oder gleich fertige Programme oder Skripte? :confused:

jeebee
15-07-2009, 21:56
Also wenn du C sehr gut kannst, sollte PHP nicht so ein problem sein. Die Doku auf de.php.net ist ja ziemlich gut und die Sprachkonstrukte sind ziemlich ähnlich wie C.

Linus
16-07-2009, 00:20
Ok, im Prinzip geht es, aber parse_url hat Probleme, wenn in einer Zeile Sonderzeichen sind und die Variable in Kommata zu setzen ($line) hift nicht.
Was kann man da machen? :confused:

Linus
16-07-2009, 23:00
Noch ein anderes Problem: parse_url funktioniert nur mit kompletten URLs; einfache Domain-Namen wie "example.com" kann es nicht erkennen :(
Welche Alternativen gibt es :confused:

msi
18-07-2009, 15:24
pragmatischer ansatz: liste aller tlds nehmen und dann jeden übergebenene
namen danach checken. Domainname ist der bereich der direkt vor der TLD bis einschließlich einem . steht + TLD. Falls kein punkt vorkommt das ganze.

Linus
18-07-2009, 21:16
pragmatischer ansatz: liste aller tlds nehmen und dann jeden übergebenene
namen danach checken. Domainname ist der bereich der direkt vor der TLD bis einschließlich einem . steht + TLD. Falls kein punkt vorkommt das ganze.

Ja, klar, ich arbeite schon daran, seit ich weiß das urlparse und parse_url ungeeignet sind.