Beim Web-Scraping werden Sie bestimmt auf solches Problem stoßen – einige Websites haben einen MEHR LADEN Button, die Sie anklicken müssen, um zu paginieren oder weitere Inhalte zu laden. Wenn Sie nicht darauf klicken, würden die Seiten wahrscheinlich nicht mehr laden oder die Browser laden keine Seiten mehr. Aber manchmal ist es für Web Scraping schwierig, während des Prozesses diesen Button zu erkennen und anzuklicken. In diesem Artikel stellen wir Ihnen vor, wie Sie dieses Problem beim Data-Scraping mit dem Button „Mehr laden“ mit einem Web-Scraping-Tool oder einer Python-Methode leicht lösen können.
No-Coding Tool zum Data Scraping mit „Mehr Laden“ Button
Wenn Sie kein Programmierer sind und keine Ahnung von Programmierung haben, empfehlen wir Ihnen Octoparse als das beste Web-Scraping-Tool, um das Problem mit dem „Mehr laden“ Button zu lösen. Es ist ein kostenloses Tool für Windows- und Mac-Systeme, das einfach zu bedienen ist und keine Programmierkenntnisse voraussetzt. Mit seiner automatischen Erkennungsfunktion und den voreingestellten Vorlagen können Sie fast alle Arten von Websites scrapen. Zum „Mehr laden“ Button richtet Octoparse einige Funktionen ein, z.B. Sie können mit Octoparse eine Paginierung und ein unendlichen Scrollen mit Loop-Item einstellen. Um diese Funktionen direkt anzusehen, können Sie zuerst zufolge des folgenden Beispiel in Octoparse eine Aufgabe erstellen.
1. Scraping von „Mehr Laden“ Button mit Paginierung
Sie können die Paginierung mit dem „Mehr laden“ einstellen, wenn Sie eine mehrseitige Website scrapen. Auf manchen Websites wird dies als „Nächste“ beschrieben. Octoparse bietet zwei Möglichkeiten, um diese Website zu extrahieren, was automatischer Erkennungsmodus oder manuelle Einstellung sind. Wenn Sie mehr Interesse daran haben, können Sie das ausführliche Tutorial Umgang mit Paginierung mit Button „Nächste“ lesen oder den einfachen Schritten unten folgen.
Schritt 1: Melden Sie sich für ein kostenloses Konto an und starten Sie Octoparse. Kopieren Sie den Zielseiten-Link und fügen Sie ihn in das Hauptfenster ein, um den automatischen Erkennungsmodus zu starten.
Schritt 2: Octoparse wird die Paginierung nach der automatischen Erkennung einstellen. Klicken Sie auf den „Mehr laden“ Button in der Tipps-Panel, um zu prüfen, ob das gewünschte Datenfeld vom Button richtig lokalisiert wurde. Wenn nicht, können Sie auf „Edit“ klicken, um die richtige Schaltfläche auszuwählen. Wenn es um die manuelle Einstellung davon geht, müssen Sie zuerst den „Mehr Laden“ Button auf der Webseite auswählen und die Option „Loop to click single element“ selektieren. Dabei können Sie auch selbst ein geeignetes AJAX-Timeout einrichten.
Schritt 3: Nachdem alle Datenfelder überprüft worden sind, führen Sie den erstellten Workflow aus. Dann würden die gescrapten Daten erhalten, wenn der ausgewählte Button in Ordnung funktioniert.
2. Unendloses Scrollen zum Laden weiterer Daten
Bei einigen Seiten, die über eine „Mehr laden“ Button verfügen, werden weitere Inhalte auf derselben Seite geladen, nachdem Sie einmal und einmal auf den „Mehr Laden“ Button geklickt haben. In dieser Situation können Sie die Paginierung mit unendlichem Scrollen leicht einstellen. Außerdem werden sowohl automatische als auch manuelle Methoden unterstützt, die den oben genannten Methoden von „Mehr Laden“ sehr ähnlich sind.
3. Beispiele zur Lösung der Probleme von „Mehr Laden“ Button mit XPath
Ein praktisches Beispiel für diese Art von Problem stammt von einem unserer Benutzer, der mit dem „Mehr laden“ Button nicht alle Daten von der Website extrahieren konnte. Folgend ist die Details über diese Situation.
Er schrieb uns eine E-Mail und sagte:
„I want help regarding scraping a website with a “show more product” button.
Type Links to scrape: http://dir.indiamart.com/mumbai/industrial-machinery.html
Type of data: 08447563983, Machinery And Spares.
I want to scrape the complete page including the “load more product” button.
I have created primary steps I have attached images in the attachment.
But this only fetched 29 data from page, I want you to tell me how to add load more feature in this process.
Also, tell me more about configuring the extraction rule.
Waiting for your response.“
Aus der E-Mail können wir zwei Kernpunkte seines Problemes zusammenfassen:
1. Mehr Laden Button
Wir müssen sicherstellen, dass alle Elemente auf den Webseiten angezeigt werden, nachdem wir wiederholt auf den „Mehr Laden“ Button geklickt haben.
2. Erfassung von nur 29 Daten
Wir müssen die Extraktion überprüfen, während die Lokal-Datenextraktion ausführt, um herauszufinden, was das Problem ist.
Unsere Antwort lautet daher endlich wie folgt:
- Über den Mehr Laden Button
Zunächst einmal müssen wir sicherstellen, dass alle Elemente in Ihrer Regel auf dieser Webseite angezeigt werden, indem Sie bis zum Ende der Seite scrollen und wiederholt auf den „Mehr laden“ klicken.
Übrigens lädt die Website manchmal noch weitere Elemente, wenn man bis zum Ende der Seite scrollt, bevor den „Mehr laden“ Button erscheint; wir können die Scrollzeit und die Intervalle einstellen, um die Extraktion glatt zu erledigen.
- Über die extrahierten Daten
Wenn nur 29 Datensätze extrahiert wurden, müssen Sie die Gründe für den Abbruch der Extraktion herausfinden. Ich habe Ihre Aufgabe unter Lokale Extraktion überprüft und festgestellt, dass:
- Einige Fenster werden während der Extraktion geöffnet. In diesem Fall müssen Sie im integrierten Browser manuell auf den „Schließen“ Button klicken. Dann starten Sie Ihre Aufgabe wieder.
- Wenn die Extraktion ohne Pop-up-Fenster abgeschlossen ist, müssen Sie herausfinden, an welcher Stelle die Extraktion stoppt.
Zuerst öffnen Sie die Webseite in Firefox, die Sie extrahieren möchten. Suchen wir das 28. Datenfeld auf der Webseite – wie wir sehen können, ist es das Element mit dem Namen „Mohnot Instruments“ in Firefox. Wir werden das Tool FirePath verwenden, um den XPath herauszufinden.
Zweitens gehen Sie zurück zu Octoparse und überprüfen Sie das Loop-Item (Datenextraktion). Jetzt wird ein Element namens p extrahiert. Es ist offensichtlich, dass mit dem ursprünglichen XPath etwas nicht stimmt und wir den XPath manuell bearbeiten müssen.
Kopieren wir den Original-XPath und fügen ihn in FireBug ein. Dabei werden Sie feststellen, dass der ursprüngliche XPath die Elemente ab dem 29. nicht extrahieren konnte. In diesem Fall müssen wir den XPath ändern, um alle Elemente aus der Webseite zu extrahieren.
Drittens ermitteln Sie den XPath des Abschnitts des 29. Elements auf der Webseite.
Viertens sollte der korrekte XPath .//*[enthält(@id,’LST’)] lauten.
Nachdem der XPath geändert und gespeichert wurde, werden Sie finden, dass mehr als 32 Elemente in der Schleife extrahiert werden.
Vergessen Sie nicht, den integrierten Browser während der Extraktion zu überwachen und sicherzustellen, dass der Arbeitsablauf gut funktioniert.
Anhand dieses Beispiels wissen wir, wie man Daten von einer Website mit dem „Mehr laden“ Button scrapen und den XPath ändern kann, der alle Datenelemente aus der Webseite extrahiert.
Behebung des Web-Scraping von „Mehr Laden“ Button mit Python
„Wie kann man die Website scrapen, wenn sie einen ‚Mehr laden‘ Button hat, um mehr Inhalt auf der Seite zu laden?“
Vielleicht haben Sie die gleiche Frage wie oben auf Stackoverflow, obwohl Sie etwas über Programmierung wissen. Sie können dort Antworten und Diskussionen zu dieser Frage finden. Wir empfehlen Ihnen dennoch, Octoparse auszuprobieren, wenn Sie immer noch verwirrt sind.
Hier bekommen Sie Octoparse! 🤩
Preis: $0~$249 pro Monat
Packet & Preise:Octoparse Premium-Preise & Verpackung
Kostenlose Testversion: 14-tägige kostenlose Testversion
Herunterladen:Octoparse für Windows und MacOs
Wenn Sie Probleme bei der Datenextraktion haben, oder uns etwas Vorschlägen geben möchten, kontaktieren Sie bitte uns per E-Mail (support@octoparse.com). 💬
Autor*in: Das Octoparse Team ❤️
