2016-06-07 2 views
0

Zum Beispiel möchte ich den Preis extrahieren (oben rechts) und den Raum (Unterkunft für: 2, Bäder: 1 usw.) https://www.airbnb.com/rooms/12949270?guests=1&s=_JaPbz-JWeb-Scraping mit XpathSApply. Erst xmlValue

Hier ist mein Code für Preis:

remDr$navigate(url) 
doc <- htmlParse(remDr$getPageSource()[[1]]) 
var <- remDr$findElement('id','details') 

varxml <- htmlTreeParse(vartxt, useInternalNodes=T) 
Price <- xpathApply(varxml,"//div[@class='book-it__price-amount h3 text-special pull-left']",xmlValue) 

Aber es gibt mir eine leere Liste zurück. Vielleicht ist es hapepend, weil die Klasse "'Buch-it_Preis-Menge h3 Text-Spezial Pull-links' nicht die Oberklasse ist? Wenn ja - wie das korrigieren? Wenn nicht, wo habe ich einen Fehler gemacht?

+1

Zum Beispiel, sagen die [Nutzungsbedingungen] (https://www.airbnb.com/terms?locale=en) _“Im Zusammenhang mit der Nutzung der Website, Anwendung, Dienstleistungen und Collective Inhalts , Sie dürfen nicht und Sie stimmen zu, dass Sie nicht: (...) manuelle oder automatisierte Software, Geräte, Skripte, r Obots, Hintertüren oder andere Mittel oder Prozesse, um auf Webseiten oder andere Dienste, die auf der Website, in der Anwendung, in den Diensten oder im kollektiven Inhalt enthalten sind, "zuzugreifen", "zu kratzen", "zu kriechen" oder "zu spinnen". Was, wenn sie wegen Ihrer Aktivitäten in Konkurs gehen? – lukeA

Antwort

0

Für mich funktioniert der unten stehende Code: Über verbotenen Scraper im Web Im Allgemeinen, wenn es nicht erlaubt ist, Scraper zu verwenden, gehen Sie ein Risiko ein, wenn Sie Daten für kommerzielle Zwecke verwenden oder Sie regelmäßig Anfragen senden, also hängt davon ab, wie Sie es verwenden werden

library(RCurl) 
library(XML) 

url<-getURL("https://www.airbnb.cz/rooms/12949270?guests=1&s=_JaPbz-J",ssl.verifypeer = F) 
url2<-htmlParse(url) 
Price <- xpathSApply(url2,"//div[@class='book-it__price-amount h3 text-special pull-left']",xmlValue) 
conditions <- xpathSApply(url2,"//div[@class='col-md-6']",xmlValue) 
+0

Oh, ich benutze einen kleinen anderen Ansatz: Schauen Sie sich bitte meine bearbeitete Version des Codes. Ich benutze Rselenium für mein Kratzen – YNWA1992