[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