Extrahieren Daten mit einer Liste von URLs (Version 8)
Wednesday, July 14, 2021 2:56 PMIn manchen Fällen haben Sie vielleicht eine Liste von ähnlich strukturierten URLs (z.B. die Produkt-URLs) zur Hand, aus der Sie Daten extrahieren möchten. In diesem Tutorial stellen wir Ihnen eine einfache und leistungsstarke Methode vor, um Daten aus mehreren Webseiten mithilfe einer Liste von URLs zu extrahieren.
Wann können Sie Daten mithilfe einer Liste von URLs scrapen?
In manchen Fällen können die Daten mit einer Liste von URLs extrahiert werden.
1. Alle URLs sollen eine gleiche Domain und die gleiche Webseitenstruktur haben (am wichtigsten).
• Beispiel: Ich habe eine Liste von Produkt-URLs und möchte eine Aufgabe mit der Liste erstellen, um regelmäßig aktualisierte Preisdaten zu scrapen.
2. Einige Webseiten verwenden endloses Scrollen/mehr laden, um den Inhalt zu laden. Wenn Sie Daten aus solchen Websites extrahieren und die Daten auf Detailseiten scrapen möchten, dann müssen Sie die Aufgabe in zwei Aufgaben aufteilen. Eine Aufgabe zielt auf das Scrapen der URLs, und mit der anderen Aufgabe scrapen Sie mithilfe der Liste der extrahierten URLs die Daten auf der Detailseite extrahieren.
• Beispiel: Die Suchergebnisseite von Zara verwendet endloses Scrollen, um ständig neue Artikel zu laden. Wenn Sie Daten aus der Artikelseite scrapen möchten, müssen Sie zunächst die Produkt-URLs sammeln und Scrollen-Zeiten festlegen.
3. Die Website verwendet AJAX (Tutorial: Deal with AJAX), um neue Inhalte zu laden. Das bedeutet, dass das System nach einem Klick auf die erste Produktseite nicht automatisch zur Auflistungsseite zurückkehrt (und von dort aus die zweite Produktseite anklickt). Wir müssen also zunächst die URLs der Detailseiten extrahieren und dann die gewünschten Daten mit der URL-Liste scrapen (Video-Tutorial ).
4. Einige Websites haben solches Problem, dass Webseiten bei der Paginierung recht langsam zu laden sind, das das Daten-Scraping der geplanten Aufgaben beeinflussen könnte. Um das Problem zu vermeiden, wäre es besser, mit den Seiten-URLs Daten zu extrahieren.
Tipps!
Woher weiß ich, dass die Seiten die gleiche Struktur haben?
Wenn Sie Nachrichtenartikel von einer Website scrapen, besteht eine hohe Wahrscheinlichkeit, dass die Artikelseiten die gleiche Seitenstruktur haben, z. B.:
Ein anderes Beispiel ist Google Maps. Jede Geschäftsseite ist so aufgebaut:
Um Daten mit einer Liste von URLs zu scrapen, richten wir einfach ein „Loop“ mit allen URLs ein, dann fügen eine Aktion „data extraction“ direkt danach ein, um die benötigten Daten zu erhalten. Octoparse wird die URLs einer nach dem anderen laden und die Daten von jeder Seite scrapen.
Mit „Loop“ von "Liste von URLs" muss zusätzliche Schritte wie "Click to paginate" oder "Click Item" nicht erstellt werden, um die Artikelseite aufzurufen. Infolgedessen beschleunigt die Geschwindigkeit der Extraktion, insbesondere bei der Cloud-Extraktion. Wenn eine Aufgabe, die mit "Listen von URLs" erstellt wurde, in der Cloud ausgeführt werden soll, wird die Aufgabe standardmäßig in Unteraufgaben aufgeteilt, die dann auf verschiedenen Cloud-Servern gleichzeitig ausgeführt werden können.
Der Modus "Liste von URLs" ist sehr effektiv. Sie können bestimmte Webseiten in die Liste hinzufügen, und es spielt keine Rolle, ob die aufeinanderfolgende Seiten sind oder nicht. Solange die das gleiche Seitenlayout haben, wird Octoparse Daten von jeder URL in der Liste scrapen, und keine Seite würde ausgelassen werden.
Tipps!
1. Kann ich URLs verwenden, die unterschiedliches Seitenlayout haben?
Leider können mit "Liste der URLs" nur URLs extrahiert werden, die die gleiche Seitenstruktur haben. Um sicherzustellen, dass die Daten konsistent und richtig extrahiert werden, ist es erforderlich, dass diese Seiten das gleiche Seitenlayout haben.
Um mehr über "List of URLs" zu erfahren, können Sie sich den folgenden Artikel ansehen: Loop Item
2. Gibt es eine Begrenzung für die Anzahl der URLs, die ich gleichzeitig hinzufügen kann?
Ja. Wir empfehlen, nicht mehr als 10.000 URLs hinzuzufügen, wenn Sie die URLs direkt in Octoparse einfügen. Wenn Sie die Batch-URL-Eingabe-Funktion verwenden, können Sie bis zu 1 Million URLs eingeben.
3. Kann Octoparse die URLs automatisch sammeln und hinzufügen?
Octoparse kann URLs aus einer anderen Aufgabe importieren. Sie können eine Aufgabe verwenden, um die URLs zu extrahieren, und dann eine andere Aufgabe konfigurieren, um Daten aus den URLs zu extrahieren.
Octoparse Advanced API ermöglicht das Modifizieren der Liste der URLs ohne Zugriff auf die App.
Um Daten aus einer Liste von URLs zu extrahieren, kann der Extraktionsprozess im Allgemeinen in 3 einfache Schritte unterteilt werden:
In Octoparse gibt es zwei Möglichkeiten, "Liste von URLs" zu erstellen.
1) Erstellen eine neue Aufgabe mit einer Liste von URLs
2) Erstellen eine Aktion "Liste von URLs" im Workflow
1) Erstellen eine neue Aufgabe mit einer Liste von URLs
1. Wählen Sie "+New" und klicken Sie auf "Advanced Mode", um eine neue Aufgabe zu erstellen, oder geben Sie Webseiten-URLs ein, um zu beginnen
2. Fügen Sie die Liste der URLs in das Textfeld ein und klicken Sie auf "Save URL"
Tipps!
Nachdem wir die URLs eingegeben und auf "Save" geklickt haben, entfernt Octoparse automatisch Duplikate und behält nur die gültigen URLs:
Nach einem Klick auf "Save URL", wird das "Loop Item" automatisch im Workflow generiert.
Wenn Sie mit dem Mauszeiger über das "Loop Item" fahren oder auf die Einstellungen von "Loop Item" klicken, können Sie sehen, dass die eingegebenen URLs dem "Loop Item" hinzugefügt wurden.
Die Aufgabe wechselt automatisch in den Modus "Liste der URLs", wenn mehr als eine URL-Zeile hinzugefügt wird.
3. Stellen "Wait before execution" ein
Wenn Octoparse zu schnell crawlt, können die Seiten nicht vollständig geladen werden, bevor die Datenextraktion ausgeführt wird. Das führt dazu, dass keine oder unvollständige Daten extrahiert werden. Um dies zu vermeiden, können wir "Wait before execution" einrichten.
Klicken Sie auf die Einstellungen von "Go to Web Page". Stellen Sie unter "Advanced Options" eine Wartezeit ein, bevor die Aktion ausgeführt wird (normalerweise sind 2 Sekunden ausreichend).
2) Erstellen eine Aktion "Liste von URLs" im Workflow
1. Fügen Sie ein "Loop Item" im Workflow hinzu
2. Gehen Sie in den "Loop mode" und wählen Sie "List of URLs"
3. Klicken Sie auf und geben Sie die Liste der URLs ein. Vergessen Sie nicht, auf "OK" zu klicken, um die Einstellung zu speichern.
Die Aktion "Go to Web Page" wird automatisch im Workflow generiert. Und wenn Sie auf "Loop Item" klicken, können Sie die Liste der URLs sehen.
4. Stellen"Wait before execution"ein
Octoparse wird jede URL in der Liste laden, um die Daten zu extrahieren. Wenn die Seite jedoch nicht vollständig geladen wird, kann Octoparse Probleme bei der Datenextraktion oder beim Ausführen des nächsten Schritts im Workflow haben. Aus diesem Grund müssen wir "Wait before execution" einrichten (2 Sekunden werden empfohlen).
Nachdem die URLs gespeichert wurden, wird die erste Webseite automatisch geöffnet, und Sie können Daten auf der Seite auswählen, um die zu extrahieren. Tutorial: Extract element text/URL/image/HTML/attribute
Tipps!
1. Wenn das Scraping nach dem Start der Extraktion stoppt, können wir versuchen, ein längeres Timeout für den Schritt des Öffnens der Webseite einstellen, sodass das System länger wartet, bis die Webseite vollständig geladen ist.
2. Wenn Sie möchten, dass die Daten mit der ursprünglichen URL-Liste, die Sie eingegeben haben, zusammen exportieren, können Sie hier die URL der aktuellen Seite hinzufügen:
Wenn Sie Probleme mit dem Extrahieren der Tabellendaten haben, senden Sie eine Anfrage an unser Support-Team! Wir werden uns innerhalb von 24 Stunden bei Ihnen melden.