【问题标题】:Rselenium web-scraping with R使用 R 进行 Rselenium 网络抓取
【发布时间】:2016-06-01 08:32:32
【问题描述】:

例如,我想从这个网页中抓取数据(空间、设施、价格...和评论 https://www.airbnb.com/rooms/9985824?guests=1&s=d2dNfFMd

我想为此目的使用 rselenium 包。 这是我的代码:

url <- "https://www.airbnb.com/rooms/9985824?guests=1&s=d2dNfFMd"
library('RSelenium')
pJS <- phantom()
library('XML')
shell.exec(paste0("C:\\Users\\Daniil\\Desktop\\R-language,Python\\file.bat"))
Sys.sleep(10)

checkForServer()
startServer()
remDr <- remoteDriver(browserName="chrome", port=4444)
remDr$open(silent=T)

然后在 SelectorGadget 的帮助下,我发现了适合抓取的元素:

var <- remDr$findElements('css selector','#details hr+ .row')

我的问题是:如何将它带入文本(字符串)? 或者可能存在其他使用 rselenium 收集数据的方法。

非常感谢

【问题讨论】:

    标签: r web-scraping rselenium


    【解决方案1】:

    我不确定file.bat 中的内容,但您似乎主要对收集有关房源设施的数据感兴趣。我刚刚使用了 firefox 并跳过了代码中的 phantomjs 部分:

    url <- "https://www.airbnb.com/rooms/9985824?guests=1&s=d2dNfFMd"
    
    library('RSelenium')
    
    checkForServer()
    startServer()
    remDr <- remoteDriver(browserName="firefox", port=4444)
    remDr$open(silent=T)
    remDr$navigate(url)
    
    var <- remDr$findElement('css selector','#details hr+ .row')
    
    print(var$getElementText())
    [[1]]
    [1] "The Space\nAccommodates: 2\nBathrooms: 1.5\nBed type: Real Bed\nBedrooms: 1\nBeds: 1\nProperty type: Apartment\nRoom type: Private room\nHouse Rules"
    

    您可以从这里解析字符串或执行其他数据收集。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-25
      • 1970-01-01
      • 2022-09-24
      • 2014-12-28
      相关资源
      最近更新 更多