Если вы зайдете на веб-сайт https://www.myfxbook.com/members/iseasa_public1/rush/2531687, щелкните по этому выпадающему окну Export, затем выберите CSV, вы попадете на https://www.myfxbook.com/statements/2531687/statement.csv, и загрузка (из браузера) продолжится автоматически.Дело в том, что для получения информации вам необходимо войти в систему https://www.myfxbook.com;в противном случае загруженный файл будет содержать текст «Пожалуйста, войдите на Myfxbook.com, чтобы использовать эту функцию».
Я пытался использовать read.csv
, чтобы получить файл csv в R, но получил только «Пожалуйста, войдите»сообщение.Я считаю, что R должен смоделировать html-сеанс (что бы это ни было, я не уверен в этом), чтобы доступ был предоставлен.Затем я попытался сначала использовать некоторые инструменты для очистки, но безрезультатно.
library(rvest)
login <- "https://www.myfxbook.com"
pgsession <- html_session(login)
pgform <- html_form(pgsession)[[1]]
filled_form <- set_values(pgform, loginEmail = "*****", loginPassword = "*****") # loginEmail and loginPassword are the names of the html elements
submit_form(pgsession, filled_form)
url <- "https://www.myfxbook.com/statements/2531687/statement.csv"
page <- jump_to(pgsession, url) # page will contain 48 bytes of data (in the 'content' element), which is the size of that warning message, though I could not access this content.
Из приведенной выше попытки я получил, что page
имеет элемент с именем cookies
, который в свою очередь содержит JSESSIONID
.Из моего исследования кажется, что JSESSIONID
- это то, что «доказывает», что я зашел на этот сайт.Тем не менее, загрузка CSV не работает.
Тогда я попытался:
library(RCurl)
h <- getCurlHandle(cookiefile = "")
ans <- getForm("https://www.myfxbook.com", loginEmail = "*****", loginPassword = "*****", curl = h)
data <- getURL("https://www.myfxbook.com/statements/2531687/statement.csv", curl = h)
data <- getURLContent("https://www.myfxbook.com/statements/2531687/statement.csv", curl = h)
Кажется, что эти библиотеки были созданы для очистки HTML-страниц и не работают с файлами в других форматах.
Я был бы очень признателен за любую помощь, поскольку я уже довольно давно пытаюсь сделать эту работу.
Спасибо.