2017-01-11 4 views
1

мне нужно заполнить поля месяц и год страницы:заполнения формы в R без 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 к URL можно следующим образом:

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

Привет, спасибо, очень му ch для вашего ответа ^^. Случайно, вы узнаете, как получить таблицы на странице, которую вы получите, например, таблицу «ESTADO DE SITUACIÓN FINANCIERA INDIVIDUAL - EXPRESADO EN MILES DE PESOS» – user119144

+0

посмотрите на '? Html_table' – Rentrop

+0

Да, я пробовал следующий код: «a <-read_html (url) a <- html_nodes (a, xpath = '// * [@ id =" activos_ifrs "]/table [2]') a <-html_table (a, fill = TRUE) «Но я получаю список() – user119144

Смежные вопросы