Parsen von hostname und port vom string oder url
Kann ich eine string in einem dieser Formate:
- url: e.g http://www.acme.com:456
- string: e.g www.acme.com:456, www.acme.com 456, oder www.acme.com
Möchte ich extrahieren Sie den host und, falls vorhanden, einen port. Wenn der Wert des Ports ist nicht vorhanden, ich würde es gerne standardmäßig auf 80.
Habe ich versucht urlparsedie funktioniert gut für die url, aber nicht für das andere format. Wenn ich urlparse auf hostname:port, zum Beispiel, Sie setzt den hostname in das Schema statt netloc.
Ich würde gerne mit einer Lösung, die verwendet urlparse und eine regex, oder ein einzelnes regex umgehen konnte beide Formate.
InformationsquelleAutor der Frage TonyM | 2012-03-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin nicht so vertraut mit urlparse, aber mit regex würde Sie so etwas wie:
Oder ohne port:
EDIT: behoben regex auch mit 'www.abc.com 123'
InformationsquelleAutor der Antwort claesv
Können Sie urlparse man den Hostnamen aus URL-string:
InformationsquelleAutor der Antwort Maksym Kozlenko
Der Grund, warum es fehlschlägt, für:
ist, weil es keine gültige URI. Warum gehst du nicht einfach:
:
urlparse
MethodeVersuchen Sie, und machen verwenden der Standard-Funktionalität soweit wie möglich, vor allem, wenn es um Dinge geht, etwa bei der Analyse gut kennen Formate wie URI.
InformationsquelleAutor der Antwort ntziolis
InformationsquelleAutor der Antwort dfostic