@Jurudoca: Was genau denkst Du was Du innerhalb der Schleife machst? Beziehungsweise was denkst du was `link_matches` enthält?
Und ich würde auch eher einen HTML-Parser verwenden, statt das mit regulären Ausdrücken zu lösen.
Anfängerfrage zu Regular Expressions
Haha...tja die schleife ist irgendwie unsinnig *bg* Danke für den Hinweis
Die HTML Parser sind glaube ich noch ein bisschen zu hoch für mich...Habe schon mit urllib2 herumgespielt...aber da brauche ich noch Zeit...
geht auch so:
jetzt muss ich es irgenwie hinbekommen, dass er die Links der eigenen Seite nicht mehr anzeigt, sondern nur noch die externen...das schaff ich hoffentlich bis heute Abend noch Mein Ergebnis poste ich nochmal... Aber der Thread ist sowieso schon so lang...
Die HTML Parser sind glaube ich noch ein bisschen zu hoch für mich...Habe schon mit urllib2 herumgespielt...aber da brauche ich noch Zeit...
geht auch so:
Code: Alles auswählen
from httplib import *
import re
def getLinks(url):
verb = HTTPConnection(url)
verb.request('GET','/')
antw = verb.getresponse()
html = antw.read()
p = re.compile('(?<=href=")(.*?)(?=")')
link_matches = p.findall(html)
print link_matches
absurd = p.findall(str(link_matches))
print absurd
getLinks('www.spiegel.de')
@Jurudoca: Das „geht” nur bedingt. HTML kann man nicht zuverlässig mit so einfachen regulären Ausdrücken parsen. Der Ausdruck den Du verwendest, kann sowohl Links übersehen, als auch falsche Treffer liefern. Es wird zum Beispiel nicht beachtet ob das Muster innerhalb eines Tags steht. Vorzugsweise eines Tags was nicht zufällig auskommentiert ist. Auf der anderen Seite kann der Wert des Attributs auch in einfache statt doppelter Anführungszeichen eingefasst sein, oder auch in gar keine. Das ist dann zwar kein gültiges HTML, aber solche kaputten Sachen findet man im Netz zuhauf.
@ Blackjack Ja das kann natürlich sein!
Wie würdest Du mit HTML Parsern vorgehen, um ein Programm zu schreiben was Links auf definierten Seiten zu externen Seiten ausgeben soll...
Welche Libs würdest du in welcher Reihenfolge dafür verwenden...?
Das Ding ist ja...ich will ja nicht html ausgeben sondern auslesen...
Grüße
Jurudoca
Wie würdest Du mit HTML Parsern vorgehen, um ein Programm zu schreiben was Links auf definierten Seiten zu externen Seiten ausgeben soll...
Welche Libs würdest du in welcher Reihenfolge dafür verwenden...?
Das Ding ist ja...ich will ja nicht html ausgeben sondern auslesen...
Grüße
Jurudoca
@Jurudoca: Ich würde `lxml.html` oder `BeautifulSoup` zum Parsen und extrahieren der Links verwenden. Dann `urllib2.urlparse()` um die URLs in ihre Bestandteile zu zerlegen. Für die Daten sollte man Quelltext schreiben können, der interne von externen Links unterscheidet.