[R-br] RES: Ler um HTM

Éder Comunello comunello.eder em gmail.com
Quinta Janeiro 21 17:40:14 BRST 2016


Leonardo, boa tarde!

Voltando na discussão...

Acredito que não tem como fazer a conexão direta com o arquivo .zip alocado
na web, mas uma vez que você baixa o arquivo com download.file(), pode usar
unz() para não precisar descompactar. Tem um post antigo em <
https://stat.ethz.ch/pipermail/r-help/2008-October/176266.html>.

Abaixo tem um exemplo bem simples, mas que pode ser útil. É feita a leitura
de uma tabela .html a partir de um arquivo .zip alocado no Google Drive.

### <code r>
setwd("D:\\TEMP")
url.zip <- "https://drive.google.com/open?id=0B8y1jJExW6kabHU3SXV3dXB2OEk"
url.zip <- sub("^.*\\?(id.*$)", "
https://drive.google.com/uc?export=download&\\1", url.zip)
url.zip ###
https://drive.google.com/uc?export=download&id=0B8y1jJExW6kabHU3SXV3dXB2OEk"

if (!file.exists("html.zip")) download.file(url.zip, "html.zip", mode="wb")
unzip("html.zip", list=T) ### conteúdo

closeAllConnections()
con <- unz("html.zip", "htmlTable.html")
XML::readHTMLTable(readLines(con))
# $`NULL`
#   First Name Last Name Points
# 1       Jill     Smith     50
# 2        Eve   Jackson     94
close(con)
### </code>



​
================================================
Éder Comunello
PhD Student in Agricultural Systems Engineering (USP/Esalq)
Brazilian Agricultural Research Corporation (Embrapa)
Dourados, MS, Brazil [22 16.5'S, 54 49.0'W]




Em 7 de janeiro de 2016 10:54, Leonard de Assis <assis.leonard em gmail.com>
escreveu:

> Paulo, o que achei via google de ontem pra hoje vai nessa direção mesmo.
>
>
>
> Estou rodando vários exemplos que achei e, em paralelo, adaptando meu
> código.
>
>
>
> Eu já consigo ler os trecos dentro do HTML, o que agarra é esse processo
> de descompactar o htm dentro.
>
>
>
> Fiz um esqueminha em C usando curl e xml que funciona. Se ficar demorando
> muito, porto essa joça pra ficar no formato que o R entende e resolvo por
> esse caminho.
>
>
>
> Ou então, deixo como está, que é baixar o zip, descompactar e ler.
>
>
>
> *De:* R-br [mailto:r-br-bounces em listas.c3sl.ufpr.br] *Em nome de *Paulo
> Nogueira Starzynski
> *Enviada em:* quinta-feira, 7 de janeiro de 2016 09:39
> *Para:* R-BR <r-br em listas.c3sl.ufpr.br>
> *Assunto:* Re: [R-br] Ler um HTM
>
>
>
> Leonardo,
>
> talvez você já tenha alguma vez trilhado o caminho das pedras do
> webscrapping, mas, se não, recomendo os pacotes XML, RCurl e rvest (eu uso
> mais os dois primeiros).
>
>
> Abraços,
>
> Paulo
>
>
>
> Em 6 de janeiro de 2016 23:45, Leonard de Assis <assis.leonard em gmail.com>
> escreveu:
>
> Boa noite a todos
>
>
>
> Estou com um problema idiota em mãos. Preciso ler um arquivo .HTM dentro
> de um arquivo .zip.
>
> Até agora, o jeito que achei mais produtivo foi:
>
> 1.       baixar o zip (posso fazer isso com o R via download.file)
>
> 2.       extrair o .HTM do arquivo (posso fazer isso via unzip)
>
> 3.       ler a tabela contida no HTM utilizando readHTMLTable (lib XML)
>
>
>
> A questão que tenho é a seguinte:
>
>
>
> Existe um jeito mais rápido que este? Eu já consegui ler .csv direto de
> arquivo .zip utilizando o comando unz e read.table. Será que funciona assim
> também em HTML? Se sim, qual seria a func?
>
>
>
> Leonard
>
>
>
> OS: ainda tenho que pensar como fazer webscrap desse htm, kkk
>
>
>
>
>
>
> _______________________________________________
> 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160121/ad502e56/attachment.html>
-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: image001.png
Tipo: image/png
Tamanho: 7861 bytes
Descrição: não disponível
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160121/ad502e56/attachment.png>


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