Scraping der Hotel-Infos von Airbnb
Tuesday, June 14, 2022 11:57 AMAirbnb ist eine gute Webseite für die Touristen, die Hotel-Infos zu finden und einen geeigneten Unterkunft für den Urlaub zu bestellen. In diesem Tutorial erfahren Sie, wie man die Hotel-Infos auf Airbnb schnell wie möglich extrahiert.
Überblick
Lösung 1: Verwenden Sie einfach die Aufgabenvorlage für Airbnb auf dem Template von Octoparse.
Lösung 1: Verwenden Sie einfach die Aufgabenvorlage für Airbnb auf dem Template von Octoparse.

Lösung 2: Erstellen Sie Ihre eigne Aufgabe für die Daten-Scraping von Airbnb.
In diesem Teil erfahren Sie deutliche Hinweise über den Ablauf einer Erstellung der Daten-Scraping-Aufgabe. Damit ist eine URL als Beispiel herausgegeben und die Zieldaten beziehen sich um Price, Star Rating, Reviews, Image-UR und Page-URL von jedem Hotel.
Hier ist ein Überblick über die Schritte.
Schritt 1: „Go To Web Page” - Öffnen Sie die Ziel-Webseite.
• Geben Sie die URL auf der Startseite ein und klicken Sie auf „Start”.

Schritt 2: Erstellen Sie einen „Loop Item” duch klicken auf die Hotel-Linken nacheinander.
• Wählen Sie die ersten zwei Informationsblocke, um die Detektion aller Blocke auf der Seite zu aktivieren.
• Klicken Sie auf „Loop click each URL”, um zur Detail-Seiten zu gehen.

Schritt 3: Extrahieren Sie die Informationen von dem Detail-Seiten.
• Wählen Sie die Infos nach Bedarf und dann klicken auf „Extract the text of the element”.

• Wählen Sie „Add customer field”> „ Page-level data”> „ Page URL”, wenn Sie die Daten von Page URL brauchen.

• Doppelklicken Sie auf die Header vom Datenvorschau und benennen die Datenfelder nach Bedarf um.

Schritt 4: Modifizieren Sie XPath von den Datenfeldern.
• Klicken Sie auf „Vertical View”
• Modifizieren Sie XPath von Daten.

Hier sind XPath-Beipiele für die Daten auf Airbnb.
Hotel Title: //h1
Number of review: //button[contains(@aria-label,'Rate')]
Review rating: //button[contains(@aria-label,'Rate')]/../preceding-sibling::span[1]
Number of guests: //span[contains(text(),'guest')]
Number of bedrooms: //span[contains(text(),'bedroom')]
Number of bath: //span[contains(text(),'bathroom')]
Number of beds: //span[contains(text(),'bed')][not(contains(text(),'room'))]
Price: //div[contains(@style,'pricing')]/div[1]//span
Schritt 5: Erstellen Sie „Pagination”, um die Daten aller Detail-Seiten zu extrahieren.
• Klicken Sie auf „Go to Web Page” und gehen Sie zurück zur der Listing-Seite.
• Klicken Sie auf den Button (>) für „Nächste Seite” auf dem Fuß der Seite.
• Klicken Sie auf „Loop click single element” auf Tips und ein Workflow für „Pagination” wird erstellt.
• Bewegen Sie den Workflow „Loop Item” in „Pagination”.

Schritt 6: Modifizieren Sie XPath von „Pagination”.
• Klicken Sie auf „Pagination”
• Geben Sie XPath ein: //*[@aria-label='Next']

• Klicken Sie auf „Loop Item”.
• Ändern Sie „Loop Mode” zu „Variable list”.
• Geben Sie XPath ein: //a[contains(@aria-labelledby,'title')]
• Klicken Sie auf „Apply” zum Bestätigen.

Tipps!
Hier erfahren Sie mehr über XPath.
Da die Detail-Seiten sind mit AJAX-Tech geladen, soll eine Erstellung dafür genommen werden.
• Klicken Sie auf „Click to Paginate”.
• Gehen Sie zu „Options”.
• Aktivieren Sie „Load with AJAX”.
• Stellen Sie den Wert von AJAX auf 5-10s.

Schritt 7: Scraping starten, um die Aufgabe auszuführen und Daten zu erhalten.
• Klicken Sie auf „Save”.
• Klicken Sie auf „Run”.
• Wählen Sie „Run on your device”, um die Aufgabe mit Ihrem lokalen Gerät auszuführen, oder wählen Sie „Run in the Cloud”, um die Aufgabe auf unseren Cloud-Servern auszuführen (nur für Premium-Benutzer)

Hier ist eine Datenausgabe als Beispiel.

Autor*in: Das Octoparse Team