0
我试图通过RCurl
从国家信息中心下载pdf,但我遇到了一些麻烦。对于这个例子URL,我希望pdf对应于默认设置,除了“报告格式”应该是“PDF”。当我运行下面的脚本时,它会保存与选择其他按钮相关的文件(“...的父母”/ HMDA--不是默认的)。我试着将这些输入元素添加到params
,但它没有改变任何东西。有人能帮我找出问题吗?谢谢。将正确的参数传递给RCurl/postForm
library(RCurl)
curl = getCurlHandle()
curlSetOpt(cookiejar = 'cookies.txt', curl = curl)
params = list(rbRptFormatPDF = 'rbRptFormatPDF')
url = 'https://www.ffiec.gov/nicpubweb/nicweb/OrgHierarchySearchForm.aspx?parID_RSSD=2162966&parDT_END=99991231'
html = getURL(url, curl = curl)
viewstate = sub('.*id="__VIEWSTATE" value="([0-9a-zA-Z+/=]*).*', '\\1', html)
event = sub('.*id="__EVENTVALIDATION" value="([0-9a-zA-Z+/=]*).*', '\\1', html)
params[['__VIEWSTATE']] = viewstate
params[['__EVENTVALIDATION']] = event
params[['btnSubmit']] = 'Submit'
result = postForm(url, .params=params, curl=curl, style='POST')
writeBin(as.vector(result), 'test.pdf')
是的,这个作品 - 谢谢!我想你确实需要明确地指定所有参数,即使它们显示为默认值 – sirallen
似乎并不需要“lbTopHolders”和“lbHMDAyear” – sirallen
隐藏的“API”确实是可怕的;-) – hrbrmstr