Я пытаюсь очистить сгенерированный CSV-файл, нажав кнопку «CSV» на этом сайте (расположенном под левой стороной графика). Проблема в том, что CSV генерируется из Javascript, который анализирует встроенную таблицу (ниже середины графика). Я знаю, что могу просто поцарапать встроенный стол. Я не хочу этого делать.
Я хочу решение, которое использует R для загрузки CSV с помощью кнопки «CSV». Моя попытка пока использует r пакеты "rvest" и "V8". Я просто запутался в том, что я делаю, так как не могу найти хороших примеров использования пакета V8 для кнопок загрузки javascript. Вот что я получил до сих пор.
Я запутался в строке ct <- v8 () и далее ... Как применить пакет V8 в контексте javascript в исходном коде вышеуказанный URL? </p>
library(rvest)
library(V8)
URL <- https://www.bankofengland.co.uk/boeapps/database/fromshowcolumns.asp?Travel=NIxSTxTIxSUx&FromSeries=1&ToSeries=50&DAT=RNG&FD=1&FM=Jan&FY=2009&TD=30&TM=Mar&TY=2020&FNY=&CSVF=TT&html.x=91&html.y=29&C=IIN&Filter=N#
raw_html <- GET(URL) %>%
content() %>%
rvest::html_nodes("script") %>%
html_text()
ct <- v8()
read_html(ct$eval(gsub('document.ready','',raw_html))) %>%
html_text()
Для контекста javascript для кнопок такие, как показано ниже
<script>
$(document).ready(function() {
$.fn.dataTable.moment( 'DD MMM YY' );
$('#stats-table').DataTable( {
paging: false,
"info": false,
"order": [ 0, 'desc' ],
fixedHeader: {
header: true
},
dom: 'Bfrtip',
buttons: [
'copy', 'csv', 'excel', 'print'
]
} );
} );
</script>