Очистите веб-сайт с помощью R, перейдя в doPostBack, чтобы узнать стоимость базы данных. - PullRequest
1 голос
/ 28 июня 2019

Я пытаюсь получить информацию о ценах на большие базы данных здравоохранения на веб-странице ASPX, которая использует __doPostBack. Меня особенно интересуют цены на государственные базы данных (не стандартные базы данных по умолчанию). Я пытаюсь использовать rvest в R.

Конкретная страница с ценами находится по адресу: https://www.distributor.hcup -us.ahrq.gov / Databases.aspx

Я пытался использовать существующие решения для работы с stackoverflow (см. Код ниже), и мне, вероятно, не хватает чего-то базового.

sesh<-html_session("https://www.distributor.hcup-us.ahrq.gov/Databases.aspx")
form<-html_form(sesh)[[1]]
query<-list(`lng`="en-US",
            `__VIEWSTATEGENERATOR`=form$fields$`__VIEWSTATEGENERATOR`$value,
            `__VIEWSTATE`=form$fields$`__VIEWSTATE`$value,
            `__EVENTTARGET`="p$lt$SubContentHome$PlaceHolderHome$p$lt$zoneMain$ProductGridSearch$ddlCategory",
            `__EVENTARGUMENT`="State")
page<-rvest:::request_POST(sesh,"https://www.distributor.hcup-us.ahrq.gov/Databases.aspx",
                           body=query,encode="form")
page<-read_html(page)
tbls <- html_nodes(page, "table")
head(html_table(tbls[[6]],fill=T,header=T),10)[,2]

Я ожидал, что в выходных данных будут отображаться имена баз данных в масштабе штата, но вместо этого в нем перечислены имена общенациональных баз данных, которые отображаются по умолчанию при переходе на страницу.

...