2017-01-11 42 views
1

我需要填寫頁面的領域月份和年份:填表不Rselenium

Http://www.svs.cl/institucional/mercados/entidad.php?mercado=S&rut=99588060&grupo=&tipoentidad=CSVID&row=AABaHEAAaAAAB7uAAT&vig=VI&control=svs&pestania=3

通過這一點,我已經設定在Rselenium以下和它的作品

#library 
library(RSelenium) 

#browser parameters 
mybrowser<-remoteDriver(browserName = "chrome") 
mybrowser$open(silent = TRUE) 
mybrowser$setTimeout(type = "page load", milliseconds =1000000) 
mybrowser$setImplicitWaitTimeout(milliseconds = 1000000) 
url<-paste("http://www.svs.cl/institucional/mercados/entidad.php?mercado=S&rut=99588060&grupo=&tipoentidad=CSVID&row=AABaHEAAaAAAB7uAAT&vig=VI&control=svs&pestania=3",sep="") 

#start navigation 
    mybrowser$navigate(url) 
    webElem$clickElement() 
    wxbox<-mybrowser$findElement(using="class","bordeInput2") 
    wxbox$sendKeysToElement(list("09")) 
    wxbox<-mybrowser$findElement(using="id","aa") 
    wxbox$sendKeysToElement(list("2016")) 
    wxbutton<-mybrowser$findElement('xpath',"//*[@id='fm']/div[2]/input") 
    wxbutton$clickElement() 

不過,我倒要看看使用rvest或rcurl一個解決方案,我已經嘗試過,並沒有爲我工作。如果有人能幫助我,我會很感激。

我做了一個嘗試是

library(RCurl) 
library(XML) 
form <- postForm("Http://www.svs.cl/institucional/mercados/entidad.php?mercado=S&rut=99588060&grupo=&tipoentidad=CSVID&row=AABaHEAAaAAAB7uAAT&vig=VI&control=svs&pestania=3", Year = 2010, Month = 2)                                 
doc <- htmlParse(form)                                                                                                           pkids <- xpathSApply(doc, xmlAttrs)                                          
     pkids                                                                                                                 
     data <- lapply(pkids)                                                    

     tab <- readHTMLTable(data[[1]], which = 1) 

首先,謝謝

回答

0

你可以簡單地POST的網址如下:

require(rvest) 
require(httr) 
a <- POST("http://www.svs.cl/institucional/mercados/entidad.php", 
    # Body = what you fill in the form 
    body = list(mm = 09, aa = 2016), 
    # query = the long URL broken into parameter 
    query = list(mercado="S", 
        rut="99588060", 
        grupo="", 
        tipoentidad="CSVID", 
        row="AABaHEAAaAAAB7uAAT", 
        vig="VI", 
        control="svs", 
        pestania="3")) 

read_html(a) %>% html_nodes("dd") %>% html_text %>% 
    setNames(c("Business name", "RUT")) 

它給你:

   Business name      RUT 
"ACE SEGUROS DE VIDA S.A."    "99588060-1" 
+0

你好,非常感謝你畝回答你的答案^^。一次偶然的機會,你就會知道如何讓你得到網頁上的表格,例如所謂的「斯卡德SITUACIÓNFINANCIERA個人 - EXPRESADO EN MILES DE比索」表 – user119144

+0

看看'html_table' – Rentrop

+0

是的,我試過嗎?後續的代碼:「一<-read_html(URL) 一個< - html_nodes(一個,的xpath = '// * [@ ID = 」activos_ifrs「] /表[2]') 一個<-html_table(A,填= TRUE)「但我得到列表() – user119144