[R-br] RCurl
Daniel Marcelino
dmarcelino em live.com
Sexta Junho 14 02:44:53 BRT 2013
Raphael, eu acho que vai ser um pouco mais complicado do que eu imaginava.
Veja que no site diz que o uso de cookies deve ser autorizado no seu
navegador, então, o mesmo se aplica ao R.
A sua melhor estratégia deve ser criando 2 funções: (1) que execute o login
guardando as informações de acesso (cookie); (2) fazer o download dos dados
propriamente.
Obviamente não pude testar a solução abaixo porque não sou usuário do site.
####@ Exemplo @####
#Pagina links
loginurl = "http://ead.portalinstitutounibanco.org.br/login/index.php"
dataurl = "
http://ead.portalinstitutounibanco.org.br/course/report/log/index.php?chooselog=1&showusers=1&showcourses=1&id=149&user=0&date=0&modid=&modaction=0&logformat=downloadascsv
"
#Dados da conta de acesso
pars=list(
username="Nome de usuário",
password="Senha",
submitButton = "Acesso")
browser="Safari/5.0"
#pars
curl<-RCurl:::getCurlHandle()
RCurl:::curlSetOpt(cookiejar="cookies.txt", useragent=browser,
followlocation=TRUE, curl=curl)
#Para fazer o login
login<-RCurl:::postForm(loginurl, .params=pars, curl=curl)
# Baixar os dados
url<-RCurl:::getURL(dataurl, curl=curl)
dados<-download.file(url, destfile = "log2.txt"); dados
####@ FIM @####
Veja que o autor do pacote explica algo sobre como lidar com cookies aqui:
http://www.omegahat.org/RCurl/RCurlJSS.pdf
Daniel
2013/6/12 Raphael Saldanha <rfsaldanha em outlook.com>
> Olá Daniel,
>
> Tentei o seguinte, já com o pacote carregado:
>
> postForm('http://ead.portalinstitutounibanco.org.br/login/index.php',
> username = "Nome de usuário",
> password = "Senha",
> submitButton = "Acesso",
> style = "POST")
>
>
> url <- "http://ead.portalinstitutounibanco.org.br/course/report/log/index.php?chooselog=1&showusers=1&showcourses=1&id=149&user=0&date=0&modid=&modaction=0&logformat=downloadascsv"
>
> download.file(url, destfile = "log2.txt")
>
>
> ---
>
> Atenciosamente,
> Raphael Saldanha
>
> rfsaldanha em outlook.com
>
>
> ------------------------------
> From: dmarcelino em live.com
> Date: Wed, 12 Jun 2013 13:39:08 -0400
> To: r-br em listas.c3sl.ufpr.br
> Subject: Re: [R-br] RCurl
>
>
> Você pode passar um exemplo de como você está tentando?
>
> Daniel
>
>
> 2013/6/12 Raphael Saldanha <rfsaldanha em outlook.com>
>
> Olá pessoal,
>
> Estou tentando usar o pacote RCurl para logar em um site (plataforma
> moodle) e pegar alguns relatórios de acesso, mas não estou tendo sucesso.
> Alguém tem experiência com este pacote?
>
> ---
>
> Atenciosamente,
> Raphael Saldanha
>
> rfsaldanha em outlook.com
>
> _______________________________________________
> 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.
>
>
>
>
> --
> \begin{signature}
> Daniel Marcelino
> [image: Nuvem] dm.silva em umontreal.ca
> [image: Telefone preto] (514) 343 6111 #3799
> Skype: d.marcelino
> ✎ 3200 Jean Brillant, Office C5071
> Montreal, QC; H3T 1N8
> Canada
> \end{signature}
>
> "Small steps toward a much better world"
>
> _______________________________________________ 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.
>
> _______________________________________________
> 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.
>
--
\begin{signature}
Daniel Marcelino
☁ dm.silva em umontreal.ca
☎ (514) 343 6111 #3799
Skype: d.marcelino
✎ 3200 Jean Brillant, Office C5071
Montreal, QC; H3T 1N8
Canada
\end{signature}
"Small steps toward a much better world"
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130614/348e6b39/attachment.html>
Mais detalhes sobre a lista de discussão R-br