2010-12-21 8 views
1

I HtmlCleaner2.1 Bibliothek bin mit für XPaths erzeugt durch XPather Plugin gegen html zu kratzen Inhalt daraus zu bewerten. Aber manchmal kann HtmlCleaner Xpath nicht auswerten.HtmlCleaner Fehler auf einigen XPaths erzeugt durch XPather

Für e.x. http://www.megaoutdoors.co.uk/norwegen-army-shirt-zipped-roll-top-collar-278-p.asp

Für Produkttitel, XPath von XPather gegeben ist // body/div [11]/div [6]/div [2]/form/div [1]/h1 Aber das scheitert, wenn ich es mit HtmlCleaner auswerte.

Wie können wir dieses Problem lösen? Ändert sich die Struktur der Seite, wenn htmlcleaner sie bereinigt?

Dank
Jitendra

+0

@Jitendra: Im Allgemeinen ist keine gute Design-Wahl für ein Dokument, das behauptet, XHTML-Validierung sei ein schlechtes XML. –

+0

Inwiefern schlägt es fehl? (Z. B. Fehlermeldung, erhält falsche Daten, bekommt keine Daten ...) – LarsH

+0

@ Alejandro, Diese Websites sind nicht unsere, aber wir haben die Erlaubnis, sie zu kratzen. Also müssten wir sie auf jeden Fall abschaben. – RandomQuestion

Antwort

1

ändert Struktur Seite, wenn htmlcleaner reinigt es?

Nach dem Intro Beispiel auf http://htmlcleaner.sourceforge.net/, HTMLCleaner kann sicherlich die Struktur der Seite ändern, wenn aufzuräumen. In diesem Beispiel fügt es HTML- und Body-Elemente hinzu und verschiebt das Element h1 aus der Tabelle.

Warum lassen Sie HTMLCleaner nicht auf der Seite laufen und schauen Sie sich die Ausgabe an? Dann können Sie feststellen, ob und wie sich die Struktur verändert hat.

Gibt es eine Möglichkeit, es zu vermeiden oder in anderen Worten, halten DOM erzeugt durch HtmlCleaner so nahe wie möglich zu DOM von Browser integriert.

Sie könnten dies tun, indem Sie einen modifizierten Tag-Info-Satz angeben, der sich von dem default one unterscheidet. Dies ist anscheinend, was die "Korrekturen" des DOM konfiguriert. (Siehe here, wie es zu benutzen, wenn Sie die Befehlszeilenschnittstelle verwenden.)

Oder, wenn Sie einige andere HTML-Parser vorschlagen könnte, deren DOM ist sehr nahe zu DOM von Browser, so dass xpath generiert von XPather Plugin würde sehr selten scheitern.

Ich würde versuchen HTML Tidy und sehen, was es mit dem DOM macht. Es ist ein weit verbreitetes und ausgereiftes Programm zum Aufräumen von Scraped HTML.

+0

Sry, die Frage war nicht sehr gut umrahmt. Ich war mir bewusst, dass sich die Struktur der Seite ändert. Gibt es eine Möglichkeit, dies zu vermeiden oder mit anderen Worten, DOM von HtmlCleaner erzeugt so nah wie möglich an DOM von Browser erstellt. – RandomQuestion

+0

Oder wenn Sie einen anderen HTML-Parser vorschlagen könnten, dessen DOM dem DOM sehr nahe kommt, so dass der XPath-XPath-Plugin nur sehr selten einen Fehler aufweist. – RandomQuestion

+0

@Jitendra, habe ich meine Antwort als Antwort auf diese Kommentare aktualisiert. – LarsH

Verwandte Themen