Erro ao fazer download de PDFs: failed, no valid url links detected

Bom dia Pessoal Estou baixando tentando baixar alguns pdf de artigos científicos pelo DOI usando o pacote metagear, porém a maioria apresenta a mensagem "failed, no valid url links detected", ou "cannot open: HTTP status was '404 Not Found' PDF download... skipped", mesmo ligando o proxy da universidade. De 1800 artigos que preciso consegui por volta de uns 200 download apenas. Alguém poderia me dar uma ajuda em como resolver este problema ? -- Best regards... 8^) “The mind that is open to new ideas never come back to its original size” *Albert Einstein* -- Obrigado Elias

Código mínimo reprodutível? Leonardo Ferreira Fontenelle[1] Em Dom 22 mai. 2016, às 09:41, Elias Carvalho escreveu:
Bom dia Pessoal
Estou baixando tentando baixar alguns pdf de artigos científicos pelo DOI usando o pacote metagear, porém a maioria apresenta a mensagem "failed, no valid url links detected", ou "cannot open: HTTP status was '404 Not Found' PDF download... skipped", mesmo ligando o proxy da universidade.
De 1800 artigos que preciso consegui por volta de uns 200 download apenas.
Alguém poderia me dar uma ajuda em como resolver este problema ?
-- Best regards... 8^)
“The mind that is open to new ideas never come back to its original size” *Albert Einstein*
-- Obrigado Elias _________________________________________________ R-br mailing list R-br@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.
Links: 1. http://lattes.cnpq.br/9234772336296638

Desculpe Leonardo, segue o código mínimo, tem dois DOIs para poder testar: *library(metagear)* *DOI <- "10.1371/journal.pone.0123511" # Disponível em: http://goo.gl/rhtvFx <http://goo.gl/rhtvFx>* *# DOI <- "10.1038/srep17841" # Disponível em: http://goo.gl/rNwOpk <http://goo.gl/rNwOpk>* *filename <- "ArtigoTeste.pdf"* *folder <- "~"* *PDF_download(DOI, directory = folder, theFileName = filename, validatePDF = TRUE, quiet = FALSE)* Em 22 de maio de 2016 09:41, Elias Carvalho <ecacarva@gmail.com> escreveu:
Bom dia Pessoal
Estou baixando tentando baixar alguns pdf de artigos científicos pelo DOI usando o pacote metagear, porém a maioria apresenta a mensagem "failed, no valid url links detected", ou "cannot open: HTTP status was '404 Not Found' PDF download... skipped", mesmo ligando o proxy da universidade.
De 1800 artigos que preciso consegui por volta de uns 200 download apenas.
Alguém poderia me dar uma ajuda em como resolver este problema ?
-- Best regards... 8^)
“The mind that is open to new ideas never come back to its original size” *Albert Einstein*
-- Obrigado Elias
-- Best regards... 8^) “The mind that is open to new ideas never come back to its original size” *Albert Einstein* -- Obrigado Elias

Uma versão setting o proxy: *# Setting the proxy server* *Sys.setenv(http_proxy="proxy.xxxx.br:9999 <http://proxy.xxxx.br:9999>") # inserir aqui seu proxy e porta* *Sys.setenv(http_proxy_user="ask")* *Sys.getenv(c("http_proxy", "https_proxy", "http_proxy_user"))* *# Load libraries* *library(metagear)* *# Code* *DOI <- "10.1093/bioinformatics/bts433"* *# DOI <- "10.1371/journal.pone.0123511"* *# DOI <- "10.1038/srep17841"* *filename <- "ArtigoTeste3.pdf"* *folder <- "/tmp"* *PDF_download(DOI, directory = folder, theFileName = filename, validatePDF = TRUE, quiet = FALSE)* Em 22 de maio de 2016 23:23, Elias Carvalho <ecacarva@gmail.com> escreveu:
Desculpe Leonardo, segue o código mínimo, tem dois DOIs para poder testar:
*library(metagear)*
*DOI <- "10.1371/journal.pone.0123511" # Disponível em: http://goo.gl/rhtvFx <http://goo.gl/rhtvFx>* *# DOI <- "10.1038/srep17841" # Disponível em: http://goo.gl/rNwOpk <http://goo.gl/rNwOpk>*
*filename <- "ArtigoTeste.pdf"*
*folder <- "~"* *PDF_download(DOI, directory = folder, theFileName = filename, validatePDF = TRUE, quiet = FALSE)*
Em 22 de maio de 2016 09:41, Elias Carvalho <ecacarva@gmail.com> escreveu:
Bom dia Pessoal
Estou baixando tentando baixar alguns pdf de artigos científicos pelo DOI usando o pacote metagear, porém a maioria apresenta a mensagem "failed, no valid url links detected", ou "cannot open: HTTP status was '404 Not Found' PDF download... skipped", mesmo ligando o proxy da universidade.
De 1800 artigos que preciso consegui por volta de uns 200 download apenas.
Alguém poderia me dar uma ajuda em como resolver este problema ?
-- Best regards... 8^)
“The mind that is open to new ideas never come back to its original size” *Albert Einstein*
-- Obrigado Elias
-- Best regards... 8^)
“The mind that is open to new ideas never come back to its original size” *Albert Einstein*
-- Obrigado Elias
-- Best regards... 8^) “The mind that is open to new ideas never come back to its original size” *Albert Einstein* -- Obrigado Elias

Boa Tarde Pessoal Alguém se habilita a fazer um teste e me sugerir uma solução ? Em 22 de maio de 2016 23:44, Elias Carvalho <ecacarva@gmail.com> escreveu:
Uma versão setting o proxy:
*# Setting the proxy server* *Sys.setenv(http_proxy="proxy.xxxx.br:9999 <http://proxy.xxxx.br:9999>") # inserir aqui seu proxy e porta* *Sys.setenv(http_proxy_user="ask")* *Sys.getenv(c("http_proxy", "https_proxy", "http_proxy_user"))*
*# Load libraries* *library(metagear)*
*# Code* *DOI <- "10.1093/bioinformatics/bts433"* *# DOI <- "10.1371/journal.pone.0123511"* *# DOI <- "10.1038/srep17841"*
*filename <- "ArtigoTeste3.pdf"* *folder <- "/tmp"* *PDF_download(DOI, directory = folder, theFileName = filename, validatePDF = TRUE, quiet = FALSE)*
Em 22 de maio de 2016 23:23, Elias Carvalho <ecacarva@gmail.com> escreveu:
Desculpe Leonardo, segue o código mínimo, tem dois DOIs para poder testar:
*library(metagear)*
*DOI <- "10.1371/journal.pone.0123511" # Disponível em: http://goo.gl/rhtvFx <http://goo.gl/rhtvFx>* *# DOI <- "10.1038/srep17841" # Disponível em: http://goo.gl/rNwOpk <http://goo.gl/rNwOpk>*
*filename <- "ArtigoTeste.pdf"*
*folder <- "~"* *PDF_download(DOI, directory = folder, theFileName = filename, validatePDF = TRUE, quiet = FALSE)*
Em 22 de maio de 2016 09:41, Elias Carvalho <ecacarva@gmail.com> escreveu:
Bom dia Pessoal
Estou baixando tentando baixar alguns pdf de artigos científicos pelo DOI usando o pacote metagear, porém a maioria apresenta a mensagem "failed, no valid url links detected", ou "cannot open: HTTP status was '404 Not Found' PDF download... skipped", mesmo ligando o proxy da universidade.
De 1800 artigos que preciso consegui por volta de uns 200 download apenas.
Alguém poderia me dar uma ajuda em como resolver este problema ?
-- Best regards... 8^)
“The mind that is open to new ideas never come back to its original size” *Albert Einstein*
-- Obrigado Elias
-- Best regards... 8^)
“The mind that is open to new ideas never come back to its original size” *Albert Einstein*
-- Obrigado Elias
-- Best regards... 8^)
“The mind that is open to new ideas never come back to its original size” *Albert Einstein*
-- Obrigado Elias
-- Best regards... 8^) “The mind that is open to new ideas never come back to its original size” *Albert Einstein* -- Obrigado Elias

Caro Elias Você pode baixar o pacote fonte metagear (a beleza do opensource) aqui: https://cran.r-project.org/src/contrib/Archive/metagear/metagear_0.1.tar.gz Examinando a função PDF_download() notamos que ela usa três arquivos: PDF_download.R, PDF_utils.R, PDF_collect.R e isPDF.R para o doi "10.1371/journal.pone.0123511" a função está extraindo como alvo: "content=\"http://journals.plos.org/plosone/article/asset?id=10.1371/journal.pone.01235..." e o correto seria o link com atributo href: "href=\"/plosone/article/asset?id=10.1371%2Fjournal.pone.0123511.PDF" resolvendo em: "http://journals.plos.org/plosone/article/asset?id=10.1371%2Fjournal.pone.012..." Segue um pequeníssimo ROBOT, veja que ele não prevê https e necessita das urls dos jornais alvo. # Author: salah ############################################################################### require(RCurl) require(XML) rm(list=ls()) ## seleciona o link alvo e converte em caracter baixaURL = function(doi) { ## link doi urlDOI = paste0("http://dx.doi.org/", doi) ## download url web = getURLContent(urlDOI) tc = textConnection(web) web = readLines(tc) close(tc) ## captura os links lnk = getHTMLLinks(web) ## converte para chr doc = htmlParse(lnk) w = capture.output(doc) return(w) }##end baixaURL ## prepara a url para download urlPDF = function(w, journal) { a = unlist(strsplit(w, split = "\\s")) b = unique(grep("pdf|PDF", a, value = TRUE)) cc = grep("href+", b, value = TRUE) d = gsub("href\\=|\"|>", "", cc) h = gsub(".*pdf|.*PDF", "", d) outPDF = gsub(h[1], "", d) return(paste0("http://", journal, outPDF)) }##end naturePDF ## faz o download do pdf baixaPDF = function(urls, dest = "~") { j = unlist(strsplit(urls, "/")) namePDF = grep(".pdf|.PDF", j, value = T) ## se houver pdf extra for(i in 1:length(urls)) { dir_name = paste0(dest, namePDF[i]) download.file(urls[i], dir_name) }##end for }##end baixaPDF doiNature = c("10.1038/nutd.2016.11", "10.1038/srep17841", "10.1038/srep25762") doiPLOS = c("10.1371/journal.pone.0123511", "10.1371/journal.pbio.1002461") j1 = "www.nature.com/" j2 = "journals.plos.org" DATA = data.frame(DOI = c(doiNature, doiPLOS), Journal = c(j1, j1, j1, j2, j2), stringsAsFactors = FALSE) destDir = "~/" for(n in 1:nrow(DATA)) { w = baixaURL(DATA$DOI[n]) urls = urlPDF(w, DATA$Journal[n]) print(urls) baixaPDF(urls, destDir) ## faz o download } saudações Em 22/05/2016 23:23, Elias Carvalho escreveu:
Desculpe Leonardo, segue o código mínimo, tem dois DOIs para poder testar:
*library(metagear) * * * *DOI <- "10.1371/journal.pone.0123511" # Disponível em: http://goo.gl/rhtvFx* *# DOI <- "10.1038/srep17841" # Disponível em: http://goo.gl/rNwOpk* *filename <- "ArtigoTeste.pdf" * *folder <- "~" * *PDF_download(DOI, directory = folder, theFileName = filename, validatePDF = TRUE, quiet = FALSE)*
Em 22 de maio de 2016 09:41, Elias Carvalho <ecacarva@gmail.com <mailto:ecacarva@gmail.com>> escreveu:
Bom dia Pessoal
Estou baixando tentando baixar alguns pdf de artigos científicos pelo DOI usando o pacote metagear, porém a maioria apresenta a mensagem "failed, no valid url links detected", ou "cannot open: HTTP status was '404 Not Found' PDF download... skipped", mesmo ligando o proxy da universidade.
De 1800 artigos que preciso consegui por volta de uns 200 download apenas.
Alguém poderia me dar uma ajuda em como resolver este problema ?
-- Best regards... 8^)
“The mind that is open to new ideas never come back to its original size” /Albert Einstein/
-- Obrigado Elias
-- Best regards... 8^)
“The mind that is open to new ideas never come back to its original size” /Albert Einstein/
-- Obrigado Elias
_______________________________________________ R-br mailing list R-br@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.

corrija j1 para j1 = "www.nature.com" sem a barra "/" Em 27/05/2016 16:08, salah escreveu:
Caro Elias
Você pode baixar o pacote fonte metagear (a beleza do opensource) aqui:
https://cran.r-project.org/src/contrib/Archive/metagear/metagear_0.1.tar.gz
Examinando a função PDF_download() notamos que ela usa três arquivos: PDF_download.R, PDF_utils.R, PDF_collect.R e isPDF.R
para o doi "10.1371/journal.pone.0123511" a função está extraindo como alvo:
"content=\"http://journals.plos.org/plosone/article/asset?id=10.1371/journal.pone.01235..."
e o correto seria o link com atributo href:
"href=\"/plosone/article/asset?id=10.1371%2Fjournal.pone.0123511.PDF"
resolvendo em: "http://journals.plos.org/plosone/article/asset?id=10.1371%2Fjournal.pone.012..."
Segue um pequeníssimo ROBOT, veja que ele não prevê https e necessita das urls dos jornais alvo.
# Author: salah ############################################################################### require(RCurl) require(XML)
rm(list=ls())
## seleciona o link alvo e converte em caracter baixaURL = function(doi) { ## link doi urlDOI = paste0("http://dx.doi.org/", doi)
## download url web = getURLContent(urlDOI) tc = textConnection(web) web = readLines(tc) close(tc)
## captura os links lnk = getHTMLLinks(web)
## converte para chr doc = htmlParse(lnk) w = capture.output(doc)
return(w) }##end baixaURL
## prepara a url para download urlPDF = function(w, journal) { a = unlist(strsplit(w, split = "\\s")) b = unique(grep("pdf|PDF", a, value = TRUE)) cc = grep("href+", b, value = TRUE) d = gsub("href\\=|\"|>", "", cc) h = gsub(".*pdf|.*PDF", "", d) outPDF = gsub(h[1], "", d)
return(paste0("http://", journal, outPDF)) }##end naturePDF
## faz o download do pdf baixaPDF = function(urls, dest = "~") { j = unlist(strsplit(urls, "/")) namePDF = grep(".pdf|.PDF", j, value = T)
## se houver pdf extra for(i in 1:length(urls)) { dir_name = paste0(dest, namePDF[i]) download.file(urls[i], dir_name) }##end for }##end baixaPDF
doiNature = c("10.1038/nutd.2016.11", "10.1038/srep17841", "10.1038/srep25762") doiPLOS = c("10.1371/journal.pone.0123511", "10.1371/journal.pbio.1002461")
j1 = "www.nature.com/" j2 = "journals.plos.org"
DATA = data.frame(DOI = c(doiNature, doiPLOS), Journal = c(j1, j1, j1, j2, j2), stringsAsFactors = FALSE)
destDir = "~/"
for(n in 1:nrow(DATA)) { w = baixaURL(DATA$DOI[n]) urls = urlPDF(w, DATA$Journal[n]) print(urls) baixaPDF(urls, destDir) ## faz o download }
saudações
Em 22/05/2016 23:23, Elias Carvalho escreveu:
Desculpe Leonardo, segue o código mínimo, tem dois DOIs para poder testar:
*library(metagear) * * * *DOI <- "10.1371/journal.pone.0123511" # Disponível em: http://goo.gl/rhtvFx* *# DOI <- "10.1038/srep17841" # Disponível em: http://goo.gl/rNwOpk* *filename <- "ArtigoTeste.pdf" * *folder <- "~" * *PDF_download(DOI, directory = folder, theFileName = filename, validatePDF = TRUE, quiet = FALSE)*
Em 22 de maio de 2016 09:41, Elias Carvalho <ecacarva@gmail.com <mailto:ecacarva@gmail.com>> escreveu:
Bom dia Pessoal
Estou baixando tentando baixar alguns pdf de artigos científicos pelo DOI usando o pacote metagear, porém a maioria apresenta a mensagem "failed, no valid url links detected", ou "cannot open: HTTP status was '404 Not Found' PDF download... skipped", mesmo ligando o proxy da universidade.
De 1800 artigos que preciso consegui por volta de uns 200 download apenas.
Alguém poderia me dar uma ajuda em como resolver este problema ?
-- Best regards... 8^)
“The mind that is open to new ideas never come back to its original size” /Albert Einstein/
-- Obrigado Elias
-- Best regards... 8^)
“The mind that is open to new ideas never come back to its original size” /Albert Einstein/
-- Obrigado Elias
_______________________________________________ R-br mailing list R-br@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.
participantes (3)
-
Elias Carvalho
-
Leonardo Ferreira Fontenelle
-
salah