Seite 1 von 1

RegExp um Links aus Webseiten zu parsen?

Verfasst: Mittwoch 14. Dezember 2005, 23:10
von pythonneuling
Hallo,

ich habe in einem String eine beliebige Webseite eingelesen und möchte daraus nun die Ergebnisse filtern. In dem Fall alle enthaltenen Links extrahieren. Ich mache das mit:

Code: Alles auswählen

...
re = compile('http://.+html?', I) 
re.findall(result)
...
...aber das arbeitet nicht sehr zuverlässig. Bei einigen Seiten klappts, bei anderen nicht. Weiß jemand Rat?

Greetz
pythonneuling

Verfasst: Mittwoch 14. Dezember 2005, 23:45
von Olliminatore
Vieleicht weil manche Seiten mit ".htm" enden!? :P

Schon komisch, der 3. Thread innerhalb von einem Tag mit dem gleichen Thema.

Verfasst: Mittwoch 14. Dezember 2005, 23:55
von pythonneuling
Olliminatore hat geschrieben:Vieleicht weil manche Seiten mit ".htm" enden!? :P
Das wird erkannt. re matched auf alle Strings mit html inklusive htm. Es gibt eher Schwierigkeiten mit den Seiten die keine Endung haben oder in href eingebetet sind.

Verfasst: Donnerstag 15. Dezember 2005, 00:19
von Olliminatore
Aja dann wollte ich wohl gerade nur verdeutlichen, dass ich mich mit re nicht auskenne. :?

Vieleicht weil manche Links relative Pfade sind? (also ohne http)
Nagut ich gehe dann mal re anlernen. :P

Verfasst: Donnerstag 15. Dezember 2005, 00:29
von ello
Wenn man mal fragen darf...
Wozu brauch man soetwas?

Ich hab von regexp nicht so die Ahung, aber wieso verzichtest du nicht einfach mal auf html und beziehst dich stattdessen auf das href. Denn Links sind doch generell in href="".

Gruß
ello