rvest / httr: автоматизация загрузки с веб-страницы nesstar - PullRequest
0 голосов
/ 13 октября 2018

Я работаю над сценарием загрузки некоторых наборов данных в R из Центра опроса и данных опроса / регистратора, этого архива данных на базе nesstar: http://cssr.surveybank.aau.dk/webview

Выискивая, я обнаружил, что естьзакладки для каждого набора данных в каждом формате, например, http://cssr.surveybank.aau.dk/webview/velocity?format=STATA&includeDocumentation=on&execute=&ddiformat=pdf&study=http%3A%2F%2F172.18.36.233%3A80%2Fobj%2FfStudy%2FElectionStudy-1973&analysismode=table&v=2&mode=download

Для использования сайта не требуется имя пользователя или пароль, так что это одна из точек.Но следующий шаг - нажать кнопку «Загрузить», и вот тут я в тупике.Этот вопрос Использование R для "нажатия" кнопки загрузки файла на веб-странице звучит так, как будто должно быть правильно, но эта веб-страница на самом деле не похожа.В отличие от этой кнопки эта кнопка не является частью формы, поэтому мои усилия по использованию html_form() и submit_form(), как и ожидалось, ни к чему не привели.(И это не ссылка, поэтому, конечно, follow_link() тоже не будет работать.) Следующее приводит меня к нужному узлу, но фактически не нажимает кнопку.

library(magrittr)
library(rvest)

url <- "http://cssr.surveybank.aau.dk/webview/velocity?format=STATA&includeDocumentation=on&execute=&ddiformat=pdf&study=http%3A%2F%2F172.18.36.233%3A80%2Fobj%2FfStudy%2FElectionStudy-1973&analysismode=table&v=2&mode=download"
s <- html_session(url)
download_button <- s %>% html_node(".button")

Теперь, когда RSeleniumвернулся на CRAN (да!), я думаю, что я мог бы пойти в этом направлении вместо этого, но я бы действительно предпочел решение на основе rvest или httr.Если бы кто-нибудь мог помочь, я был бы очень признателен.

...