Airbnb 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.
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.