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