Was ist JSON?
JSON (Abk. von Java Script Object Notation) ist ein leicht benutzbares und textbasiertes Datenaustauschformat. Es ist nicht nur für Menschen einfach zu lesen und schreiben, sondern auch für Maschinen einfach zu analysieren und generieren. Infolgedessen wird es häufig von Webseiten verwendet, um die Effizienz der Netzwerkübertragung zu verbessern.
Warum aus JSON-Links extrahieren?
Die Extraktion aus JSON-Links ermöglicht die schnellere und sicherere Konvertierung von Daten aus dem JSON-Format in ein strukturiertes Format. Dies kann uns helfen:
Daten ohne Laden von Bildern schneller zu extrahieren
von Anti-Scraping-Einschränkungen auf vielen Webseiten umzugehen
Mehr Tasten zu laden und unendliches Scrollen leichter zu handeln
Wie ist die JSON-Anwendung für Daten-Scraping mit Octoparse?
Zu Demonstrationszwecken werden wir Daten von einer Angebotsseite auf Booking.com mit JSON extrahieren. Sehen Sie sich die Beispiel-URL an:
Schritt 1: Untersuchen Sie die Webseite in einem Browser, um die URL zu identifizieren, ob die Ihnen benötigte JSON-Datei enthält.
Öffnen Sie das Beispiel URL in Chrome.
Klicken Sie mit der rechten Maustaste auf die Webseite und wählen Sie „Untersuchen”, dann öffnen DevTools.
Wählen Sie „Fetch/XHR” von Network tab.
Klicken Sie auf „clear icon” um die geladenen Informationen zu löschen.
Scrollen Sie in der rollbaren Spalte der Stellenanzeige nach unten, um die Seite zu aktualisieren.
Überprüfen Sie die geladenen URLs in XHR, um zu sehen, ob sie beliebige JSON-Datei enthalten.
Klicken Sie auf den Namen von einer URL und überprüfen Sie ihre „Headers”-Info. Wir werden ein „content-type” unter „Request Headers” sehen, was JSON enthält.
Wechseln Sie zum „Preview”-Tab und sehen Sie, wie viel Datenzeilen hier ist. Die gesamte Anzahl ist 363 für dieses Demo.
Scrollen Sie etwas weiter nach unten und vergleichen Sie die Anforderungs-URLs, um ein Muster zu finden.
Durch den Vergleich der Anforderungs-URLs stellen wir fest, dass der Parameter „start=“ in der URL jedes Mal um 10 zunimmt.
Kopieren Sie die URL mit der JSON-Datei (Request URL in Headers). https://jobs.booking.com/api/apply/v2/jobs?domain=booking.com&start=10&num=10&location=netherlands&domain=booking.com
Tipp: Einige Webseiten zeigen alle Informationen mit einem JSON-Link an, so dass Sie die URLs nicht stapelweise generieren müssen.
Schritt 2: Eine Reihe von JSON-URLs generieren, um aus einer Liste von JSON Datei-Links zu scrapen
Als nächstes müssen wir die JSON-URL-Liste in Octoparse per Batch generieren.
Öffnen Sie Octoparse und starten Sie eine neue Benutzerdefinierte Aufgabe, womit URLs durch Batch-Genrieren eingegeben werden können.
Fügen Sie die kopierte URL in das Feld URL-Format ein.
Wählen Sie das sich ändernde Element in der URL aus und klicken Sie auf „Parameter hinzufügen”.
Setzen Sie den Anfangswert auf 0, jedes Mal auf +10 und den Endwert auf 363 und klicken Sie zum Speichern auf „Bestätigen”.
Tipp: Der Endwert ändert sich ständig. Geben Sie den tatsächlichen Wert ein, den Sie in Chrome finden.
Klicken Sie auf „Zur Webseite” und aktivieren Sie das JSON unter „Generell”-Tab.
Klicken Sie auf „Anwenden” zur Speicherung.
Schritt 3: Die Daten für Extraktion wählen, um die gewünschten Daten zu erhalten
Schalten Sie den Strukturbaum um und wählen Sie die gewünschten Seitenelemente im Knoten Positions.
Scarpen Sie Datenfelder wie Name, display_job id, Geschäftseinheit und Standort, indem Sie auf die Informationen klicken und Elementdaten wählen.
Speichern Sie die Aufgabe und führen Sie sie durch, um die benötigen Daten zu bekommen.
Hier ist die Datenausgabe als Beispiel: