undefined

Warum scrapt Octoparse immer wieder die letzte Seite und hört nicht auf (Version 8)?  

Tuesday, August 10, 2021 2:18 PM

Die Datenextraktion aus mehreren Seiten ist sehr häufig, da man meist mehr als eine Seite an Daten für sein Projekt benötigt.

 

Wenn Sie auf solche Probleme gestoßen haben, dass Octoparse immer wieder die letzte Seite scrapt und nicht aufhören kann, kann es sein, dass Octoparse immer noch die Schaltfläche „Weiter“ finden und anklicken kann, selbst wenn es die letzte Seite erreicht. Wir bezeichnen dies allgemein als „Endlose Schleife“.

 

Es gibt zwei Möglichkeiten, das Problem zu lösen. Sie können Bedingungen einrichten, um das Ende der Schleife manuell einzustellen, oder den XPath ändern, damit Octoparse die Schaltfläche „Weiter“ nicht mehr finden kann, wenn es auf der letzten Seite ist.

 

1. Bedingung zum Beenden der Schleife einrichten – „Exit loop when"

 

Mit der Option „Exit loop when“ können Sie das Ende der Schleife nach einer bestimmten Anzahl von Wiederholungen erzwingen. Wenn Sie z. B. die ersten 50 Seiten der Daten durchsuchen möchten, können Sie 49 als Anzahl der Wiederholungen festlegen, dann klickt Octoparse 49 Mal auf die Schaltfläche „Weiter“ und beendet die Schleife, wenn er Seite 50 erreicht.

 

Dies ist eine einfache und effektive Möglichkeit, das Problem zu lösen, wenn Sie die genaue Anzahl der Seiten kennen. Führen Sie die folgenden Schritte aus, um die Bedingungen für das Ende der Schleife festzulegen:

 

1) Gehen Sie zu den Einstellungen der Schleife

 

2) Suchen Sie die Einstellung für „Exit Loop“

 mceclip0.png

 

 

3) Kreuzen Sie die Option „Exit Loop“ an und geben Sie die Anzahl der Wiederholungen ein.

 

4) Klicken Sie auf „OK“, um die neuen Einstellungen zu speichern.

 

2. XPath modifizieren

 

Wenn das Problem nicht durch das Einrichten einer Bedingung zum Beenden der Schleife behoben werden kann, können Sie möglicherweise den XPath ändern. Octoparse verwendet XPath, Elemente auf der Seite zu finden, einschließlich der Schaltfläche „Weiter“. In den meisten Fällen ist Octoparse in der Lage, den XPath automatisch und genau zu generieren. Trotzdem ist  es möglich, dass Sie in manchen Fällen den XPath manuell überarbeiten müssen. Zum Beispiel müssen Sie bei der endlosen Schleife einen XPath schreiben, damit Octoparse die Schaltfläche „Weiter“ auf allen Seiten außer der letzten Seite genau lokalisieren kann.

 

Tipps!

 

Wenn Sie mit XPath modifizieren müssen, empfehlen wir Ihnen „Firepath“, das eine Erweiterung von FireBug ist. Firebug ist nur noch für ältere Versionen von Firefox (z. B. Version 54) verfügbar. Klicken Sie hier , um die älteren Versionen von Firebox zu erhalten und lesen Sie diesen Beitrag, um zu erfahren, wie man FireBug und Firepath installiert. Alternativ können Sie auch einige der anderen XPath-Tools ausprobieren, die in der Anleitung aufgeführt sind: What is XPath and how to use it in Octoparse. 

 

Im Folgenden erläutern wir mit einem Beispiel, wie Sie einen XPath schreiben können. 

 

In den beiden Screenshots unten kann man feststellen, dass sich die Schaltfläche „Weiter“ mit dem vom Firepath-Plugin automatisch generierten XPath sowohl auf der ersten als auch auf der letzten Seite zu lokalisieren ist.

 

Auf der ersten Seite:

 

Auf der letzten Seite:

 

Beachten Sie nun, dass das Attribut „class“ unter dem „a“-Tag auf der ersten Seite anders ist als auf der letzten Seite, denn auf der einen Seite steht „gspr next“, auf der anderen „gspr next-d“.

 

Wir machen uns diese Beobachtung zunutze und schreiben einen neuen XPath, um die Schaltfläche „Next“ nur dann zu finden, wenn sie sich NICHT auf der letzten Seite befindet. Der neue XPath lautet //a[@class='gspr next'].

 

Geben Sie einfach den neuen XPath in Firepath ein, um zu überprüfen, ob die Schaltfläche „Weiter“ sowohl auf der ersten als auch auf der letzten Seite gefunden werden kann.

 

Auf der ersten Seite:

 

 

Auf der letzten Seite:

 

 

Großartig! Wir haben keine übereinstimmenden Knoten auf der letzten Seite und das ist genau das, was wir wollen: ein XPath, der erfolgreich die Schaltfläche „Weiter“ auf der ersten Seite auswählt, aber nicht auf der letzten Seite. Natürlich können Sie immer noch genauer sein, indem Sie prüfen, ob „Weiter“ auf Seite 2, Seite 3 usw. ausgewählt werden kann.

 

Sobald Sie den neuen XPath fertig haben, führen Sie die folgenden Schritte aus, um den neuen XPath auf die Schleife anzuwenden:

 

1) Gehen Sie zu den Einstellungen für „Loop Item“

 

2) Ersetzen Sie den ursprünglichen XPath durch den überarbeiteten XPath

 mceclip1.png

 

3) Klicken Sie auf „OK“, um die neuen Einstellungen zu speichern.

 

Wenn Sie mehr über XPath erfahren möchten, sehen Sie sich unser XPath-Tutorial(Englisch)  an.

 

Zusammenfassend können Sie je nach Ihren Scraping-Anforderungen Bedingungen festlegen, um die Schleife zu beenden, oder den XPath überarbeiten, um das Problem zu beheben. Wenn Sie noch Probleme über XPath haben, können Sie sich gerne an uns wenden, wir helfen Ihnen gerne.

 

 

btnImg
Diese Website verwendet Cookies um Ihnen ein besseres Internet-Erlebnis zu ermöglichen. Lesen Sie wie wir Cookies verwenden und Sie können sie kontrollieren, indem Sie auf Cookie-Einstellungen klicken. Wenn Sie die Website weiter nutzen, akzeptieren Sie unsere Verwendung von Cookies.
Akzeptieren Ablehnen