library(rvest)
url<-"https://www.finanssivalvonta.fi/en/capital-markets/issuers-and-investors/Managers-transactions/shortselling/"
# Get the session of the URL
page<-html_session(url)
# RVEST POST the data to the export URL
page<-rvest:::request_POST(page,url="https://www.finanssivalvonta.fi/api/shortselling/datatable/current/export",
encode="form",
body=list(
"draw"= 2,
"columns[0][data]"= "positionHolder",
"columns[0][searchable]"= "true",
"columns[0][orderable]"="false",
"columns[0][search][regex]"="false",
"columns[1][data]"="issuerName",
"columns[1][searchable]"= "true",
"columns[1][orderable]"= "false",
"columns[1][search][regex]"="false",
"columns[2][data]"="isinCode",
"columns[2][searchable]"= "true",
"columns[2][orderable]"="false",
"columns[2][search][regex]"="false",
"columns[3][data]"="netShortPositionInPercent",
"columns[3][searchable]"="true",
"columns[3][orderable]"="false",
"columns[3][search][regex]"= "false",
"columns[4][data]"="positionDate",
"columns[4][searchable]"="true",
"columns[4][orderable]"="false",
"columns[4][search][regex]"="false",
"start"= 0,
"length"= 10,
"search[regex]"="false",
"lang"= "en",
"exportOptions[columnData][positionHolder]"= "Position holder",
"exportOptions[columnData][issuerName]" ="Name of the issuer",
"exportOptions[columnData][isinCode]" = "ISIN",
"exportOptions[columnData][netShortPositionInPercent]"="Net short position (%)",
"exportOptions[columnData][positionDate]"="Date",
"exportOptions[lang]"="en"
))
writeBin(page$response$content , "data_table.csv")
Я использовал расширенный инструмент CHROME для отслеживания сетевого трафика, когда вы нажимали «EXPORT in the выше URL». Я использовал те же параметры, чтобы отправить данные и сохранить результат как CSV.