[R-br] Dúvida: Utilizando o RCurl para preencher formulários

Henrique Dallazuanna wwwhsd em gmail.com
Segunda Agosto 19 23:43:03 BRT 2013


Tente algo como:

library(RCurl)
getForm("
https://docs.google.com/forms/d/1daaGo7XZaaGGPvTOconG8QZItqaLeIZmSpPPcgxTJvg/viewform
",
   .params = list(entry.1945263135 = "Option 2", entry.1427156778 = "Teste
RCurl", entry.296661609 = "Option 3", entry.1456907668 = "Option 1"),
   .opts = list(ssl.verifypeer = FALSE))


On Mon, Aug 19, 2013 at 8:15 PM, Rogério Barbosa <antrologos em gmail.com>wrote:

> Olá,
>
> Estou tentando aprender a mexer com o RCurl para postar formulários web.
> Mas não estou tendo muito sucesso com o uso da função postForm.
>
> Abaixo há dois exemplos de tentativas minhas... ambas não deram certo.
>
> Alguma dica?
>
> abraços,
> Rogério J. Barbosa
>
>
>
>
> ######## Exemplo 1 - Preenchimento de um Google Form
> require(XML)
> require(RCurl)
>
> # Página com o formulário
> url = "
> https://docs.google.com/forms/d/1daaGo7XZaaGGPvTOconG8QZItqaLeIZmSpPPcgxTJvg/viewform
> "
>
> # Define o a ser usado certificado
> options(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem",
> package = "RCurl")))
>
> #Baixa a url
> orig = getURLContent(url=url)
>
> #Parsing...
> doc = htmlParse(orig[[1]], asText=TRUE)
>
> # Obtem os formulários
> forms = getNodeSet(doc, "//form")
> forms[[1]] #exibe o primeiro
>
> # Mostra os nodes do tipo "input" que devem ser preenchidos no formulário
> getNodeSet(forms[[1]], ".//input")
>
> # Mostra os nodes do tipo "select" que devem ser preenchidos no formulário
> getNodeSet(forms[[1]], ".//select")
>
>
> # Tentativa de postar o formulário ---------- "Error: Method Not Allowed"
> htmlParse(postForm(url,
>                    "entry.1945263135"="Option 1",
>                    "entry.1427156778"="",
>                    "entry.296661609"="Option 1",
>                    "entry.1456907668"="Option 1",
>                     style = 'POST'))
>
>
> ###################################
>
> ######## Exemplo 2 - Tentativa de prencher um fomulario em que o botão de
> submissão é uma
> ######## funçao javascript
>
> url = "
> http://www.javascript-coder.com/files/form-submit/javascript-form-submit-example.html
> "
>
>
> # Preenchimento do formulario  ---------- não acontece nada, não submete
> htmlParse(postForm(url,
>                    "query"="bla",
>                    .opts=curlOptions(
>                      referer=url,verbose = TRUE, followLocation = TRUE)
> ) )
>
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>



-- 
Henrique Dallazuanna
Curitiba-Paraná-Brasil
25° 25' 40" S 49° 16' 22" O
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130819/37d1c675/attachment-0001.html>


Mais detalhes sobre a lista de discussão R-br