Как я могу разместить простую форму HTML в R?
Я относительно новичок в программировании на R и пытаюсь использовать некоторые вещи, которые я изучаю в треке Johns Hopkins Data Science, для практического использования. В частности, я хотел бы автоматизировать процесс загрузки исторических цен облигаций изВеб-сайт казначейства США
Используя Firefox и R, я смог определить, что веб-сайт Казначейства США использует очень простую форму HTML POST, чтобы указать одну дату для интересующих котировок. Затем он возвращает таблицу информации о вторичном рынке для всех находящихся в обращении облигаций.
Я безуспешно пытался использовать два разных пакета R для отправки запроса на веб-сервер Казначейства США. Заяц два подхода, которые я попробовал:
Попытка № 1 (с использованием RCurl):
url <- "https://www.treasurydirect.gov/GA-FI/FedInvest/selectSecurityPriceDate.htm"
td.html <- postForm(url,
submit = "Show Prices",
priceDate.year = 2014,
priceDate.month = 12,
priceDate.day = 15,
.opts = curlOptions(ssl.verifypeer = FALSE))
В результате веб-страница возвращается и сохраняется вtd.html
но все, что он содержит, это сообщение об ошибке от сервера treasurydirect. Я знаю, что сервер работает, потому что когда я отправляю тот же запрос через браузер, я получаю ожидаемые результаты.
Попытка № 2 (с использованием rvest):
s <- html_session(url)
f0 <- html_form(s)
f1 <- set_values(f0[[2]], priceDate.year=2014, priceDate.month=12, priceDate.day=15)
test <- submit_form(s, f1)
К сожалению, этот подход даже не оставляет R и приводит к следующему сообщению об ошибке от R:
Submitting with 'submit'
Error in function (type, msg, asError = TRUE) : <url> malformed
Кажется, я не могу понять, как увидеть, какой «искаженный» текст отправляется в rvest, чтобы я мог попытаться диагностировать проблему.
Будем весьма благодарны за любые предложения или советы по решению этой кажущейся простой задачи!