Senhores, boa tarde! Na forma que sugeri é necessário alterar o link "default" do dropbox pra acessar diretamente o arquivo.
### <code r> require(RCurl); require(XML) url0 <- "https://www.dropbox.com/s/foeh9oqbiqlawvg/TALHOES_AGENTE2.htm?dl=1" url1 <- gsub("(^.*)(/s/.*)(\\?.*$)", "https://dl.dropboxusercontent.com\\2", url0); url1 page <- getURL(url1) # page <- getURL(url1, ssl.verifypeer = FALSE) classes <- c(rep("factor", 6), rep("numeric", 4), "factor") tableFE <- readHTMLTable(page, head=T, colClasses=classes)[[1]] str(tableFE) ### </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 30 de janeiro de 2016 12:17, Paulo Nogueira Starzynski <[email protected] > escreveu: > Alexandre, > no teste que fiz aqui, o problema é na leitura da tabela. A função getURL > não está retornando conteúdo que a função readHTMLTable possa extrair. > > > URL="https://www.dropbox.com/s/foeh9oqbiqlawvg/TALHOES_AGENTE2.htm?dl=1"> > > page <- RCurl::getURL(URL)> page[1] "<html>\r\n > > <head><title>Found</title></head>\r\n <body>\r\n <h1>Found</h1>\r\n > > <p>The resource was found at <a > > href=\"https://dl.dropboxusercontent.com/content_link/tkauy9obP7pgxKYpb9j5ZR2LCSUTe2iJpaULTWEN4RzdfR6AtirbNWGtt8q9Ncex/file?dl=1\">https://dl.dropboxusercontent.com/content_link/tkauy9obP7pgxKYpb9j5ZR2LCSUTe2iJpaULTWEN4RzdfR6AtirbNWGtt8q9Ncex/file?dl=1</a>;\r\nyou > > should be redirected automatically.\r\n\r\n<!-- --></p>\r\n <hr > > noshade>\r\n <div align=\"right\">WSGI Server</div>\r\n > > </body>\r\n</html>\r\n" > > > Abraços, > Paulo > > Em 30 de janeiro de 2016 12:16, ASANTOS <[email protected]> > escreveu: > >> Bom dia Éder, >> >> >> Tentei criar uma função com os comandos de leitura da tabela em >> HTML e também não funfou, posso pedir novamente sua ajuda, Obrigado, >> >> >> >> ## Função de leitura da tabela >> readFE<- function (x, URL = ""){ >> >> page <- getURL(URL) >> classes <- c(rep("factor", 6), rep("numeric", 4), "factor") >> tableFE <- readHTMLTable(page, head=T, colClasses=classes)[[1]] >> x<-NULL >> results <- x >> results <- x >> results<-results[!apply(results,1,function(x){any(x=="(NULL)")}),] >> results<-subset(results, !(latitude == "0.00000000" | longitude == >> "0.00000000")) >> results >> } >> #--# >> >> >> >> >> >> ## Tentativa de leitura da tabela >> tableFE<-readFE(URL= >> "https://www.dropbox.com/s/foeh9oqbiqlawvg/TALHOES_AGENTE2.htm?dl=1" >> <https://www.dropbox.com/s/foeh9oqbiqlawvg/TALHOES_AGENTE2.htm?dl=1>) >> head(tableFE) >> #--------------- >> >> >> >> >> -- >> ====================================================================== >> Alexandre dos Santos >> Proteção Florestal >> IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso >> Campus Cáceres >> Caixa Postal 244 >> Avenida dos Ramires, s/n >> Bairro: Distrito Industrial >> Cáceres - MT CEP: 78.200-000 >> Fone: (+55) 65 8132-8112 (TIM) (+55) 65 9686-6970 >> (VIVO)e-mails:[email protected] >> [email protected] >> Lattes: http://lattes.cnpq.br/1360403201088680 >> OrcID: orcid.org/0000-0001-8232-6722 >> Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10 >> LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635 >> ====================================================================== >> >> Em 29/01/2016 08:41, Éder Comunello escreveu: >> >> Alexandre, bom dia! >> >> Não havia atentado para o problema na importação das tabelas, sendo >> necessário definir as classes. Além disso, na função você deve se referir a >> "db" antes que "tableFE" e "x" é definido internamente por lapply(). >> >> >> ### <code r> >> require(RCurl); require(XML) >> url0 <- "https://www.dropbox.com/s/znmr0lwda2y6fc5/BD_teste2.html?dl=1" >> url1 <- gsub("(^.*)(/s/.*)(\\?.*$)", " >> <https://dl.dropboxusercontent.com>https://dl.dropboxusercontent.com\\2", >> url0); url1 >> # [1] "https://dl.dropboxusercontent.com/s/znmr0lwda2y6fc5/BD_teste2.html >> " >> >> page <- getURL(url1) >> tableFE <- readHTMLTable(page, head=T)[[1]] >> str(tableFE) ### todas variáveis estão como fatores - corrigir! >> >> classes <- c(rep("factor", 6), rep("numeric", 4), "factor") >> tableFE <- readHTMLTable(page, head=T, colClasses=classes)[[1]] >> str(tableFE) ### OK! >> head(tableFE) >> >> ##Agregando os resultados >> aggPestFE <- function(db=tableFE, key="descricao"){ >> lista <- split(db, db[key]) >> result <- lapply(lista, function(x) aggregate(x[,7:8], >> by=list(x[,3],x[,2],x[,5]), mean)) >> return(result) >> } >> >> ### Devido aos "defaults", obtém mesmos resultados nas três formas que >> seguem: >> aggPestFE()[5] >> aggPestFE(tableFE)[5] >> aggPestFE(tableFE, "descricao")[5] >> # $`Lagartas Desfolhadoras` >> # Group.1 Group.2 Group.3 formiga_area qtd_destruido >> # 1 GN Chale 26 0 62.5 >> # 2 RD Corrego da Coruja 26 0 50.0 >> # 3 GN Aeroporto II 28 0 75.0 >> >> ### </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] >> >> >> >> >> >> _______________________________________________ >> R-br mailing list >> [email protected] >> 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 > [email protected] > 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 [email protected] 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.
