mit regex Links auslesen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
cime
User
Beiträge: 152
Registriert: Dienstag 24. Mai 2005, 15:49

hallöchen,

ich bin noch ganz neu bei regex und naja, irgendwie lappt das hier nicht so wie es soll. Kann mit einer von euch sagen wieso, ich rätsle nämlich schon stundenlang rum?

Code: Alles auswählen

import re

def get_all_links(code):
    list=[]
    for a in ['a','A']:
        x=re.compile(r'<'+a+r'.+href="([.^]+)".*>',re.M | re.S)
        for i in x.findall(code):
            print i
    return list

f=open("ftpcommands.htm",'r')
print get_all_links(f.read())
f.close()
naja, Dieser Code sollte eigentlich aus einer beliebigen html- datei alle links auslesen ... aber irgendwie klappt das nicht so ganz ... könnt ihr mir helfen??

mfg cime
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Also dafür würde ich einen Parser bauen! Beispiele sind bestimmt im Forum zu finden.

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
joe

Hallo!
cime hat geschrieben:auslesen ... aber irgendwie klappt das nicht so ganz ...
Da dürftte eigentlich gar nichts klappen:
- Deine funktion erkennt z.B. <a href="..^^.^^.^^.^^."> . Links sehen aber wohl eher nicht so aus :-)
- such mal in der doku nach greedy (.*) vs. non-greedy (.*?)
- da "href" auch sicherlich case-insensitive ist, re.I verwenden
- list ist eine built-in funktion, also die liste umbenennen
- eine liste füllt sich nicht von selbst :-)

hth, joe
Antworten