Umgang mit AJAX
Tuesday, August 03, 2021 4:30 PMViele Websites nutzen die AJAX-Technik, um bessere, schnellere und interaktivere Webseiten zu erstellen. Octoparse kann problemlos mit solchen Seiten umgehen. In diesem Artikel zeige ich Ihnen, wie Sie AJAX in Octoparse einstellen können.
1. Was ist AJAX?
AJAX steht für "Asynchronous JavaScript and XML", das es einer Webseite ermöglicht, Informationen zu aktualisieren, ohne die gesamte Seite neu zu laden, und Daten anzufordern oder zu empfangen, nachdem die Seite geladen wurde. Wenn AJAX verwendet wird, wird nur ein Teil der Seite aktualisiert, wenn Sie auf Schaltflächen wie "nächste Seite" oder "mehr anzeigen" auf der Webseite klicken.
2. Woran erkenne ich, dass eine Webseite Inhalte mit AJAX lädt?
Wenn Sie zum Laden der Webdaten etwas geklickt haben, ist es ziemlich einfach zu erkennen, ob die Webseite AJAX verwendet oder nicht.
• Wenn AJAX verwendet wird, lädt die Webseite den zusätzlichen Inhalt, ohne die Seite neu zu laden. Aus diesem Grund ist das Nachladen-Symbol ein guter Indikator, um zu erkennen, ob AJAX verwendet wird.
• Wenn AJAX verwendet wird, sollte die Seite nicht neu geladen werden, wenn zusätzlicher Inhalt geladen wird. In diesem Fall sollte es also KEIN Nachladen-Symbol geben.
Wenn AJAX nicht verwendet wird, sollte die Seite neu geladen werden, um weitere Informationen zu laden. Das Nachladen-Symbol sollte auch angezeigt werden.
3. Wie wird Website mit AJAX in Octoparse gescrapt?
Octoparse nimmt das Neuladen als ein Signal an, wenn eine Klick-Aktion ausgeführt wird. Wenn die Seite nach dem Klicken eines Elements neu geladen wird, führt Octoparse die nächste Aktion erst aus, nachdem das Neuladen beendet ist. Weil die Seiten mit AJAX nicht neu geladen werden, erhält Octoparse das Signal nicht und würde stecken bleiben. Aus diesem Grund müssen wir also eine AJAX-Wartezeit für "Click Item" oder "Click to Paginate" einrichten, um Octoparse darauf hinzuweisen, dass es zur nächsten Aktion übergehen soll, wenn die Wartezeit erreicht ist. Es gibt zwei Methoden, AJAX in Octoparse einzustellen.
• AJAX-Auto-Detektion
Octoparse würde eine AJAX-Wartezeit automatisch einrichten, wenn AJAX für die Seite erkannt wird.
Zum Beispiel verwendet die Walmart-Website AJAX, um die nächste Seite zu laden. Wenn wir also auf die Schaltfläche "Nächste Seite" klicken, richtet Octoparse automatisch eine AJAX-Wartezeit für diese Aktion ein.
Wenn Sie ein längere oder kürzere Wartezeit benötigen, klicken Sie einfach auf das Dropdown-Menü und wählen Sie die gewünschte Einstellung.
• AJAX manuell einrichten
Wenn eine Aufgabe manuell erstellt wird oder wenn Octoparse AJAX nicht erkennt, ist es auch möglich, sie manuell einzurichten, indem Sie auf die Einstellungsschaltfläche der Aktion "Click Item" oder "Click to Paginate" klicken.
Tipps!
Das AJAX-Timeout sollte lang genug sein, sodass die Seite die benötigten Informationen laden kann.
4. Verwendung von AJAX-Wartezeit für Webseiten ohne AJAX
Auch für Seiten, die kein AJAX verwenden, kann die AJAX-Wartezeit eingestellt werden, um längere Wartezeiten von einigen Seiten zu verkürzen. Wenn Sie beispielsweise eine Seite haben, die ewig lädt, auch wenn die benötigten Informationen schon geladen wurden, können Sie AJAX-Wartezeit einstellen, damit Sie Octoparse zwingen, mit dem nächsten Schritt fortzufahren, anstatt zu warten, bis die Seite komplett geladen ist.
FAQs im Zusammenhang mit AJAX:
1. Octoparse managed to get data from the first page but stops going to the rest of the pages?
2. Why does Octoparse only click the first item in a loop and stop?