Как извлечь html-таблицу из javascript в data.frame, используя RSelenium - PullRequest
0 голосов
/ 24 января 2019

Мне нужно получить данные таблицы цен на нефть, сформированные с помощью javascript, чтобы я мог получить их на data.frame в R.

В приведенных ниже кодах я могу открыть URL-адрес в браузере Chrome с помощью RSelenium, но не могу извлечь таблицу исторических цен на нефть в xpath [@ id = 'исторический-прайс-лист'] / div / div [2] / таблицы. Ниже, кажется, не дает мне таблицу или значения, которые я хотел. https://markets.businessinsider.com/commodities/historical-prices/oil-price/usd?type=brent

library('RSelenium')
rD <- rsDriver(browser = "chrome") 
remDr <- rD[["client"]] #Start Chrome.
siteAdd <- "https://markets.businessinsider.com/commodities/historical-prices/oil-price/usd?type=brent"

remDr$navigate(siteAdd) #Open the site.

abc=remDr$findElement("css selector","//*[@id='historic-price-list']/div/div[2]/table > tbody > tr:nth-child(1) > th:nth-child(1)")$getElementText()

Я надеюсь поместить его в таблицу, которую я могу поместить в data.frame.

1 Ответ

0 голосов
/ 28 января 2019

Для тех, кому нужны коды! Коды RSelenium более чем несколько лет не могут по-настоящему работать, и я изо всех сил пытался сделать это. Большое спасибо этой ссылке тоже! Как читать HTML-таблицу с помощью Rselenium?

library('RSelenium')
library('XML')
rD <- rsDriver(browser = "chrome")
#Start Chrome.
remDr <- rD[["client"]]
#Add a test URL.
siteAdd <- "https://markets.businessinsider.com/commodities/historical-prices/oil-price/usd?type=brent"
#Open the site.
remDr$navigate(siteAdd)

doc <- htmlParse(remDr$getPageSource()[[1]])
readHTMLTable(doc)
...