通过导航数据库价格网站的doPostBack来使用R刮擦网站

时间:2019-06-28 16:56:23

标签: asp.net r web-scraping rvest dopostback

我试图在使用__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]

我希望输出显示州范围数据库的名称,但是它会列出导航到该页面时默认显示的全国范围数据库的名称。

0 个答案:

没有答案