Вы должны отправить свое имя пользователя в качестве повара ie в заголовке запроса, чтобы получить эту страницу. Я считаю, что пакет httr
дает большую гибкость для выполнения таких запросов. Для этого сайта вам нужно будет использовать имя пользователя, которое вы уже зарегистрировали на сайте. Просто измените поле user_name
в коде ниже, и это должно работать для вас:
# Use the httr package to allow flexibility with http requests
library(httr)
library(rvest)
# Set username here -----
# |
# ---------------------
# | |
# v v
user_name <- "my.name@example.com"
# Set url we need
site <- "http://marine-transportation.capitallink.com"
url <- paste0(site, "/indices/baltic_exchange_history.html?ticker=BPI")
# Obtain the page we want using user name as a cookie
response <- GET(url, set_cookies(clUser_email = user_name,
expires = "Sat, 16-Sep-2051 11:30:30 GMT",
`Max-Age` = "1000000000",
path = "/",
domain = "capitallink.com"))
# Parse the HTML code from the website using rvest
webpage <- read_html(response)
date_data <- html_nodes(webpage, "table")
result <- html_table(date_data[4])[[1]]
# Tidy up the result
result <- result[-1, 2:3]
names(result) <- c("Date", "Close")
Теперь у нас есть результат, который вы искали:
result
#> Date Close
#> 2 Jan 06, 2020 890.00
#> 3 Jan 03, 2020 949.00
#> 4 Jan 02, 2020 1003.00
#> 5 Dec 24, 2019 1117.00
#> 6 Dec 23, 2019 1154.00
#> 7 Dec 20, 2019 1201.00
#> 8 Dec 19, 2019 1265.00
#> 9 Dec 18, 2019 1340.00
# ....[ plus 50 more rows]....