r
  • forms
  • rcurl
  • 2017-02-17 30 views 0 likes 
    0

    我想寫使用RCurl的postForm功能R.RCurl postForm問題

    使用Chrome的開發者工具POST請求this site,我已經確定了我要處理的屬性的名稱爲MBR['GEOGRAPHY']

    然而,當我輸入我的postForm要求這樣:

    postForm(url, MBR['GEOGRAPHY'] = 1, style = "post") 
    

    我收到以下錯誤:

    Error: unexpected '=' in "postForm(url, MBR['GEOGRAPHY'] =" 
    

    我已經成功地使用其他形式的具有該做的名字此功能沒有[''],所以我認爲這是問題,但我不知道如何解決它。

    +0

    您的鏈接給出:「無效的cansim表ID」。 – Benjamin

    +0

    對不起,這裏是我試圖用postForm函數操作的表。 http://www5.statcan.gc.ca/cansim/a26?lang=eng&retrLang=eng&id=2820001&&pattern=&stByVal=1&p1=1&p2=31&tabMode=dataTable&csid= – SteveM

    回答

    0

    問題與方括號(通常用於索引)。我收到一些文字回覆的做法:

    postForm(url, "MBR['GEOGRAPHY']"=1, style = "post") 
    

    這是否是正確的查詢;很難說,因爲頁面說:「cansim表ID無效」。

    編輯:

    如果你開始一個更基本的網址:

    http://www5.statcan.gc.ca/cansim/a26?id=2820001 
    

    可以成功地應用參數,如lang

    postForm(url, lang = "fra", style = "post") 
    

    返回頁面法語。事實證明,我可以手動更改地理位置,將它追加到URL:&MBR%5B%27GEOGRAPHY%27%5D=2,但我無法通過RCurl傳遞。但是,您可以手動構建URL,然後通過它,它可以工作:

    postForm(paste(url, "&MBR%5B%27GEOGRAPHY%27%5D=2", sep=""), style = "post") 
    
    +0

    謝謝Benjamin。 – SteveM

    +0

    今晚我會試試這個,但是有道理。如果我想選擇多個地理區域,那麼技術上有11個值與「&MBR%5B%27GEOGRAPHY%27%5D」相關。任何想法如何操縱這種情況下的URL? – SteveM

    +0

    不確定。如果您對編碼格式有更多疑問,我會建議發佈一個更具體的新問題。 – Benjamin

    相關問題