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

Rogério Barbosa antrologos em gmail.com
Segunda Agosto 19 20:15:00 BRT 2013


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)
) )
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130819/5fe9f003/attachment.html>


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