asp.net - 通过导航 doPostBack 使用 R 抓取网站以获取数据库定价网站
问题描述
我正在尝试在使用 __doPostBack 的 ASPX 网页上提取有关大型医疗保健数据库定价的信息。我对州数据库(不是默认的全国数据库)的价格特别感兴趣。我正在尝试在 R 中使用 rvest。
具体定价页面位于: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]
我希望输出显示全州数据库的名称,但它列出了导航到页面时默认显示的全国数据库的名称。