Thread Platzhalter für HTML-Ausdrücke (reguläre Ausdrücke) (47 answers)
Opened by vitopetre at 2010-04-02 09:42

GwenDragon
 2010-04-06 10:20
#135735 #135735
User since
2005-01-17
14787 Artikel
Admin1
[Homepage]
user image
2010-04-05T20:29:23 vitopetre
Was ist denn das Problem mit WWW:Mechanize oder warum ist die Nutzung von HTML-Parser, Web-Scraper, etc. so viel besser?
Weil diese Module paraxisorientiert sind und so manche Falle (auch bei seltsamen HTML) umgehen.

Quote
Das Problem das GwenDragon anspricht kann ich zumindest nicht nachvollziehen.
Meinst du dass die <keep this here>-Klammer das letzte Wort des Artikelnamens abschneiden würde? Aber passiert das den oft?
Ich kenn mich in HTML auch nicht viel besser aus als in Perl, aber gegen schlechten Code oder Rechtschreibfehler kann man halt nicht immer was machen... - wie umgehen denn die von dir genannten Parser dieses Problem Gwen?
Wo ist die Verbindung zu Regex?

Du wolltest ja folgenden Regex anwenden:
Code (perl): (dl )
$item=~ m/<a href>(.+)<\/a>/;

So klappt das nicht, denn ein .+ bedeutet jedes/oder keines Zeichen merhfach.
Damit ist aber auch < gemeint.
Was du dachtest und wolltest, wäre eher:
Code (perl): (dl )
$item=~ m/<a href>([^<]+)<\/a>/;


Mein obiges Beispiel von HTML ist natürlich nur ein Beispiel, wo es mit Regex Probleme geben kann, sowas in meinem Beispiel tritt nicht so oft auf.

Bei den HTML-XML-Parser-Modulen kann es auch passieren, dass er defekten HTML/XML-Code bekommt und sich verschluckt. So ganz ohne Haken ist das also auch nicht.

Last edited: 2010-04-06 10:22:09 +0200 (CEST)

View full thread Platzhalter für HTML-Ausdrücke (reguläre Ausdrücke)