Die Einstellung von „Branch condition“
Thursday, August 05, 2021 12:02 PMWenn Sie nicht alle, sondern teilweise Daten auf einer Webseite brauchen, können Sie die Funktion "Branch conditions" verwenden, um ein bedingungsbasiertes Scraping zu erreichen.
Wann sollten Sie "Branch conditions" verwenden?
In den folgenden zwei Situationen ist die Funktion "Branch conditions" sehr nützlich.
1) Wenn Sie nur daran interessiert sind, Daten von bestimmten Seiten mit einem bestimmten Tag zu erhalten, wie z. B. "Neu", "Populär", "Im Angebot" usw.
2) Wenn die Daten auf der Seite in verschiedenen Formen angezeigt werden, d. h. manchmal als Text, manchmal als Bild.
In dem Beispiel unten extrahieren wir Informationen über Laptops, die im Angebot sind, indem wir das Symbol als Testbedingung verwenden: Wenn das Element
auf der Artikelseite gefunden wird, erfassen wir die Produktinformationen; andernfalls überspringen wir die Seite/das Produkt.
Schauen wir uns an, wie das geht! Zum Üben können Sie diese URL im Beispiel verwenden:
https://www.bestbuy.com/site/all-laptops/pc-laptops/pcmcat247400050000.c?id=pcmcat247400050000
1) Erstellen Sie ein „Loop item“, um jeden Link in der Liste anzuklicken (siehe englisches Tutorial)
2) Verwenden Sie "Branch conditions", um die Bedingung einzurichten, ob auf der Artikelseite vorhanden ist.
• Bewegen Sie die Maus über , wo Sie "Branch conditions" hinzufügen möchten
• Klicken Sie auf , um eine Aktion "Branch conditions" in „Loop item“ hinzuzufügen
• Klicken Sie auf von "Branch conditions" auf der linken Seite und wählen Sie "Execute if the current page contains specific element".
• Geben Sie den XPath für das Element ein: "//div[@class='pricing-price__savings']" (siehe englisches Tutorial: how to get the XPath ).
Tipps!
Wenn das Schreiben des XPaths zu schwierig ist, können Sie auf klicken und das Element auf der Webseite auswählen. Octoparse generiert dann automatisch einen XPath.
• Klicken Sie auf "OK".
• Klicken Sie auf "Branch conditions" auf der rechten Seite und wählen Sie "Always execute the branch".
• Klicken Sie auf "OK".
Tipps!
In Octoparse können Sie die Bedingung auf eine der folgenden Möglichkeiten einstellen:
1. Always execute the branch
Wenn diese Option ausgewählt ist, bewertet Octoparse die Verzweigung überhaupt nicht und führt die Aktionen innerhalb der Verzweigung sofort aus. Sie können diese Option nur für die Verzweigung auf der rechten Seite Wählen.
2. Execute if the page contains specific text
Wenn diese Option ausgewählt ist, sucht Octoparse auf der aktuellen Seite nach der angegebenen Textzeichenfolge.
3. Execute if the current page contains a specific element
Wenn diese Option ausgewählt ist, sucht Octoparse nach dem angegebenen Element (entsprechend dem eingegebenen XPath) auf der aktuellen Seite.
4. Execute if the current loop contains specific text
Wenn diese Option ausgewählt ist, sucht Octoparse in der aktuellen Schleife nach der angegebenen Textzeichenfolge.
5. Execute if the current loop contains a specific element
Wenn diese Option ausgewählt ist, sucht Octoparse innerhalb der aktuellen Schleife nach dem angegebenen Element (gemäß dem eingegebenen relativen XPath). Verwenden Sie diese Option nur, wenn Sie zwischen den Elementen in einer Schleife entscheiden müssen.
3) Klicken Sie auf die gewünschten Datenfelder von der Produktseite (wählen Sie ein Element aus der Schleife aus, das das Element enthält), die erfasst werden sollen (Wie?). Benennen Sie die Felder bei Bedarf um.
4) Ziehen Sie die Aktion "Extract Data" in "Branch conditions" auf der linken Seite
Jetzt haben wir Octoparse so konfiguriert, dass es auf der Seite nach dem Element sucht. Wenn das Element gefunden wird, werden die gewünschten Daten erfasst, andernfalls wird das Produkt übersprungen.
Tipps!
1. Wenn eine Bedingung als "whether an element is found" festgelegt ist, muss das bezeichnete Element einzig auf der Seite gefunden werden, sonst kann die Beurteilung nicht funktionieren.
2. Octoparse führt die Verzweigungen standardmäßig von links nach rechts. Wenn die Bedingung für die linke Verzweigung "Always execute the branch" lautet, wird Octoparse nicht mit der rechten Verzweigung fortfahren.
3. Wenn die Bedingung nicht erfüllt ist, können Sie die Verzweigung leer lassen, sodass keine Daten extrahiert werden.
4. Wenn eine Datenextraktionsaktion zu beiden Zweigen hinzugefügt wird, müssen sowohl die Anzahl der Datenfelder als auch der Name der Datenfelder gleich bleiben.
5. Sie können verschachtelte Zweigbeurteilungen verwenden, um die Aufgabe weiter zu verfeinern.