Scrapen Sie Kundenrezensionen von Yelp
Friday, May 28, 2021 2:42 PMIn diesem Tutorial stellen wir vor, wie man Yelp-Bewertungsdaten scrapen kann. Wir werden die Informationen des Ladens, die Namen der Rezensenten und die Rezension von einem Kaffeehaus als Beispiel zu scrapen.
Zum Nachvollziehen können Sie die untere URL verwenden:
https://www.yelp.com/biz/storyville-coffee-company-seattle-9?osq=Coffee+%26+Tea
In diesem Tutorial wird auch erklärt:
• Wie kann man XPath modifizieren, um die gewünschten Daten genau zu lokalisieren
Die Schritte des Tutorials:
1. "Go To Web Page": Öffnen Sie der gewünschten Webseite
2. Daten extrahieren - Extrahieren Sie die Informationen von dem Kaffeehaus
3. Erstellen Sie eine Paginieren-Loop: Scrapen Sie alle Rezensionen von mehreren Seiten.
4. Erstellen Sie ein "Loop-Item": Extrahieren Sie alle gleichen Elemente aus jeder Rezension
5. Daten extrahieren: Extrahieren Sie die Rezensionen auf der Liste
6. Anpassen des Datenfelds durch Modifizierung von XPath - Verbessern der Genauigkeit eines bestimmten Datenfelds (Optional)
7. Datenfelder mithilfe des Regex-Tools umformatieren - die Bewertungen der Sprechblasen in Zahlen umformatieren
8. Starten Sie die Extraktion - Führen Sie die Aufgabe aus und erhalten Sie Daten
1. "Go To Web Page": Öffnen Sie der gewünschten Webseite
• Geben Sie die Ziel-URL in die Suchleiste ein und klicken Sie auf "Start".
2. Daten extrahieren - Extrahieren Sie die Informationen von dem Kaffeehaus
• Klicken Sie auf den Namen des Kaffeehauses auf der Webseite
• Klicken Sie auf "Extrahieren den Text des ausgewählten Elements" im Feld "Tipps".
• Sie können die Schritte wiederholen, um weitere Informationen zu erhalten
3. Erstellen Sie eine Paginieren-Loop: Scrapen Sie alle Rezensionen von mehreren Seiten.
• Scrollen Sie nach unten und klicken Sie auf den Button ">"
• Klicken Sie in „Tipps“ auf „Loop klicken auf einzelnes Element“
Da diese Website die AJAX-Technik verwendet, um den neuen Inhalt zu laden, müssen wir "AJAX laden" einrichten, damit Octoparse nicht stecken bleibt.
• Richten Sie "AJAX Timeout" als "10" Sekunden ein
Tipps!
Möchten Sie mehr über AJAX erfahren, lesen Sie bitte nach:
4. Erstellen Sie ein "Loop-Item": Extrahieren Sie alle gleichen Elemente aus jeder Rezension
Wenn wir ein "Loop-Item" erstellen möchten, sollten wir immer mit dem ersten Element auf der ersten Seite beginnen.
• Klicken Sie im Workflow auf "Zur Website gehen".
• Wählen Sie die Paginierung-Loop im Workflow aus
Auf diese Weise können wir Octoparse helfen, die Ausführungsreihenfolge zu entscheiden und das "Loop Item" an der entsprechenden Stelle im Workflow zu generieren.
• Wählen Sie den Namen des ersten Rezensents
• Wählen Sie "Alles auswählen"
• Wählen Sie "Extrahieren den Text der ausgewählten Links"
5. Daten extrahieren: Extrahieren Sie die Rezensionen auf der Liste
Nachdem das Loop-Item erstellt wurde, wird die erste Rezension rot hervorgehoben. Wir können dann weitere Informationen aus dem hervorgehobenen Bereich auswählen.
• Klicken Sie auf die Elemente, die Sie in Ihre Untersuchung aufnehmen möchten
• Klicken Sie auf "Extrahieren den Text des ausgewählten Elements"
• Wiederholen Sie die Schritte, bis alle gewünschten Elemente heraus extrahiert sind
• Benennen Sie alle vordefinierten Datenfelder um
Wenn Sie die Sternbewertungen erhalten möchten, müssen Sie das äußere HTML davon extrahieren. Wir zeigen Ihnen das im Schritt 7, wie Sie die Bewertungsinformationen erhalten können.
6. Anpassen des Datenfelds durch Modifizierung von XPath - Verbessern der Genauigkeit eines bestimmten Datenfelds (Optional)
In dieser Beispielaufgabe befinden sich die Bewertungsinhalte von verschiedenen Rezensenten nicht immer an der gleichen Stelle. Um zu vermeiden, dass Daten wegen der unregelmäßigen Positionierung fehlen, können wir den XPath des Elements modifizieren, damit das Element auf jeder Seite genau lokalisiert wird.
• Klicken Sie auf die Einstellung von der Aktion „Extrahieren Daten“
• Klicken Sie auf den Button „Anpassen Xpath“
• Fügen Sie den richtigen Xpath in das Feld "Relative Xpath" ein und klicken Sie auf OK
Wir haben den XPath für häufig verwendete Felder für Sie vorbereitet. Sie können einfach den unten angegebenen Element-XPath verwenden.
• Website: //p[text()='Business website']/following-sibling::p[1]
• Telefon: //p[text()='Telefonnummer']/following-sibling::p[1]
• Öffnungszeiten: //table[contains(@class,'hours-table')]
• Adresse: //Adresse
• Annehmlichkeiten: //h4[text()='Annehmlichkeiten und mehr']/../../following-sibling::div
• Über das Unternehmen: //h4[text()='Über das Geschäft']/../../following-sibling::div
• Preisspanne: //span[enthält(text(),'$')]
• Kategorie: //a[contains(@class,'link-color--inherit')]
• Durchschnittliche Bewertung: (//div[contains(@aria-label,'star rating')])[1]
Tipps!
Um die Genauigkeit eines Datenfeldes zu verbessern, ist es sehr empfehlenswert, XPath davon zu modifizieren. Hier sind einige verwandte Tutorials, die Sie benötigen könnten:
Was ist XPath und wie man es in Octoparse verwendet
Ein Element durch nahegelegenen Text lokalisieren und scrapen
Video: Octoparse: XPath 101
7. Datenfelder mithilfe des Regex-Tools umformatieren - die Bewertungen der Sprechblasen in Zahlen umformatieren
Die Bewertungsinformationen werden nicht als Text angezeigt, sondern als Wert eines Attributs innerhalb des HTML-Codes gespeichert. In diesem Fall können wir den Wert des Attributs scrapen.
• Klicken Sie auf die Option "Mehr" und wählen Sie "Anpassen das Feld".
• Wählen Sie "Extrahieren Attribut"
8. Starten Sie die Extraktion - Führen Sie die Aufgabe aus und erhalten Sie Daten
• Klicken Sie auf "Speichern"
• Klicken Sie auf "Ausführen".
• Wählen Sie "Aufgabe auf Ihrem Gerät ausführen", um die Aufgabe mit Ihrem lokalen Gerät auszuführen, oder wählen Sie "Aufgabe in der Cloud ausführen", um die Aufgabe auf unseren Cloud-Servern auszuführen (nur für Premium-Benutzer)
• Für einen Premium-Benutzer wird die Cloud-Extraktion sehr empfohlen.
Hier sind Daten für die Beispielaufgabe.
Autor: Lesley
Herausgeber: Yina