所有尝试的 Rvest webscrape 错误

问题描述 投票:0回答:1

当我根据 rbloggers 上的教程抓取 imdb.com 时,我能够获取所有值。 当我想抓取 https://www.pelikan.sk/sk/deals/list 它显示

Error: No matches
所有尝试

我的代码: 用于提取标题

pelikansk = read_html("http://www.imdb.com/title/tt1490017/")
pelikansk %>% 
html_node("h2 .ng-binding") %>%
html_text()

提取价格:

pelikansk %>% 
html_node(".ng-scope+ .ng-binding") %>%
html_text()

提取折扣:

pelikansk %>% 
html_node(".save .ng-binding") %>%
html_text()

所有尝试都显示相同的错误。我想 html_node 对所有人都是正确的。你能建议一下,是什么导致了问题吗?

谢谢!

r rvest
1个回答
0
投票

我已经能够使用以下代码提取标头:

library(RSelenium)

shell('docker run -d -p 4446:4444 selenium/standalone-firefox')
remDr <- remoteDriver(remoteServerAddr = "localhost", port = 4446L, browserName = "firefox")
remDr$open()
remDr$navigate('https://www.pelikan.sk/sk/deals/list')

web_Obj_Accept <- remDr$findElement('xpath', '//*[@id="ngAppContainer"]/div[4]/div/div[3]/button[3]')
web_Obj_Accept$clickElement()

list_Web_Obj_Content_Wrap <- remDr$findElements('class name', "offer-content-wrap")
list_Text_Header <- lapply(X = list_Web_Obj_Content_Wrap, FUN = function(x) x$getElementText()[[1]])
unlist(list_Text_Header)[1 : 10]

[1] "Dubaj-3*Ibis Styles Jumeira (hotel bez letenky)\nJumeirah Beach\nmeal\nbedstay"                                                                 
[2] "Dubaj-4*Hilton Garden Inn Dubai Al Mina (hotel bez letenky)\nstrešný bazén / mestský hotel\nmeal\nbedstay"                                      
[3] "Abu Dhabi-4*Aloft Abu Dhabi (hotel bez letenky)\nubytovanie v 4* hoteli s raňajkami\nmeal\nbedstay"                                             
[4] "Dubaj-4*Zabeel House by Jumeirah, The Greens (hotel bez letenky)\nmódna štvrť Internet City / raňajky\nmeal\nbedstay"                           
[5] "3*Strachan Family Jasná s raňajkami\nDemänovská Dolina\nbedstay\nmeal\nwellness\ncarpark"                                                       
[6] "Abu Dhabi-4*TRYP by Wyndham City Center (hotel bez letenky)\nhotel v centre mesta s raňajkami\nmeal\nbedstay"                                   
[7] "Dubaj-4*Hilton Dubai The Walk (hotel bez letenky)\nDubai Marina\nmeal\nbedstay"                                                                 
[8] "Abu Dhabi-5*Le Méridien (hotel bez letenky)\nluxusný hotel / priamo na pláži\nmeal\nbedstay"                                                    
[9] "Abu Dhabi-5*Radisson Blu Abu Dhabi Corniche (hotel bez letenky)\nluxusný hotel / priamo na pláži\nmeal\nbedstay"                                
[10] "Holiday Village Tatralandia Apartmán DELUXE s raňajkami\nzrekonštruované Chatky DELUXE pre maximálne pohodie\nbedstay\nmeal\nwellness\ncarpark" 
© www.soinside.com 2019 - 2024. All rights reserved.