Wenn Sie eine Website scrapen möchten, möchten Sie möglicherweise die verschiedenen Seiten der Website navigieren und die Daten aus jede der Seiten scrapen werden. Der erste Schritt besteht allerdings darin, die Art der Paginierung zu identifizieren, mit der Sie zu tun haben und arbeiten. Manche Beispiele sind:
Paginierung mit „Nächste“
Paginierung ohne „Nächste“
Paginierung mit unendlosen Scrollen
Paginierung mit „Mehr laden“
In diesem Tutorial würden wir uns darauf konzentrieren, wie man eine Paginierung-Aktion einstellen kann, wenn es auf der Seite keinen Button von „Nächste“ gibt. Genauer gesagt, es gibt nur einen Button, die das Klicken auf die nummerierten Links erfordert, wenn Sie die nächste Seite wechseln möchten, wie den folgenden:
Nun lassen wir die unterschiedlichen Möglichkeiten anschauen, durch die Sie ohne „Nächste“ eine Aktion der Paginierung in Octoparse erstellen können.
1. Erstellen Sie die Paginierung und aktualisieren Sie den Pagination XPath
Die zugrunde liegende Logik zur Lösung des Problems besteht darin, dass wir einen XPath schreiben müssen, der immer die nächste Seitenzahl finden kann.
Dies wird ein zweistufiger Prozess sein:
SCHRITT 1: Schreiben/suchen Sie den XPath des Seitenelements, das Sie zur nächsten Seite führt (wenn Sie sich beispielsweise auf Seite 1 befinden, möchten Sie auf Seite 2 klicken; wenn Sie sich auf Seite 2 befinden, möchten Sie auf Seite 3 klicken usw.).
SCHRITT 2: Überprüfen Sie den XPath der Paginierung im Workflow in Octoparse.
Hinweis: XPath-Kenntnisse sind nicht zwingend erforderlich, aber äußerst hilfreich, um eine Aufgabe zu erstellen, die genau das tut, was Sie in Octoparse benötigen. Lesen Sie „Was ist XPath und wie wird es in Octoparse verwendet?“, um mehr über die Verwendung von XPath zur Erstellung des perfekten Web Scrapers zu erfahren.
Wenn Octoparse die Links beliebiger Paginierung auf der Webseite erkennt, werden die nach Abschluss der Auto-Detektion Optionen für Paginierung in Tipps-Platte angezeigt. Sie können auf „Check“ klicken, um die von Octoparse erkannte Schaltfläche zu überprüfen, oder auf „Edit“ zu klicken, um die zu bearbeiten, wenn es noch nicht richtig erkannt wird.
Klingt kompliziert? Kein Problem, schauen wir uns ein Beispiel an.
Um fortzufahren, können Sie den folgenden Link verwenden:
Klicken Sie auf die Schaltfläche Nummer 2
Wählen Sie „Schleife klicken“
Es wird eine Paginierung erstellt.
Jetzt müssen wir den XPath für die Paginierung schreiben.
Die Schaltfläche, die wir anklicken müssen, ist auf verschiedenen Seiten unterschiedlich. Die Zielschaltfläche befindet sich jedoch immer hinter der aktuellen Seitenschaltfläche. Daher müssen wir zuerst den XPath für die aktuelle Seitenschaltfläche ermitteln. Anschließend können wir das folgende Geschwister verwenden, um die nächste Seitenzahl zu ermitteln.
Kopieren Sie die aktuelle Seiten-URL ( https://www.octoparse.de/blog ) und fügen Sie sie in Ihren Browser (z. B. Chrome) ein.
Hinweis: Sie müssen ein Browser-Add-On-Tool namens XPath Helper herunterladen.
Klicken Sie in Ihrem Browser, um den XPath-Helper zu starten.
Suchen Sie die Seitenzahlen auf der Webseite, klicken Sie mit der rechten Maustaste auf Seite 1 und wählen Sie die Option Untersuchen.
Ihr Bildschirm sollte jetzt wie unten dargestellt aussehen. Der hervorgehobene Code entspricht dem Link auf Seite 1.
Wir können einen XPath schreiben, um basierend auf dem HTML-Code zuerst die aktuelle Seitenzahl zu finden.
Wenn Sie den XPath in den XPath-Helfer einfügen, sehen Sie, dass die Schaltfläche Seite 1 gefunden wird.
Schreiben Sie nun den XPath für die nächste Nummer://li[contains(@class,"page-item active")]/following-sibling::li[1]/a
Jetzt müssen wir nur noch den XPath für die Paginierung aktualisieren.
Zum Paginieren klicken
Geben Sie den XPath ein //li[contains(@class,"page-item active")]/following-sibling::li[1]/a
Beachten Sie, dass wir normalerweise //a- Tag lokalisieren müssen, um sicherzustellen, dass das lokalisierte Element anklickbar ist.
2. Verwenden Sie "Batch Generate", um URLs für alle Seiten zu erstellen
Eine alternative, aber sehr effektive Methode zum Scrapen mehrerer Seiten einer Website besteht darin, zunächst die URLs aller Seiten zu sammeln, die Sie scrapen müssen, und dann mithilfe der Liste der gesammelten URLs eine Aufgabe zu erstellen.
Schauen Sie sich die URLs der verschiedenen Webseiten genauer an. Fällt Ihnen so etwas auf?
...
Wenn Sie ein ähnliches Muster wie im obigen Beispiel sehen, bei dem sich nur die Seitennummer in den URLs der verschiedenen Seiten ändert, können Sie einfach alle Seiten-URLs zusammen generieren und so viele Seiten wie nötig scrapen. Sobald Sie die Links generiert haben, fährt Octoparse fort, alle Seiten automatisch zu scrapen.