-
Notifications
You must be signed in to change notification settings - Fork 3
/
brasiliana_USP_periódicos.R
51 lines (46 loc) · 1.87 KB
/
brasiliana_USP_periódicos.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
rm(list=ls())
options(warn=-1)
options(show.error.messages = T)
library(XML)
### BRASILIANA USP PERIÓDICOS
baseurl <- "http://www.brasiliana.usp.br/handle/1918/6/search?order=ASC&rpp=10&sort_by=dc.title&page=XXX&group_by=none&etal=0&view=listing"
dados <- data.frame()
for (i in 1:144){
print(i)
url <- gsub("XXX", i, baseurl)
url.conteudo <- xmlRoot(htmlParse(readLines(url)))
##Titulos
titulos <- getNodeSet(url.conteudo, "//a/span")
titulos <- xmlSApply(titulos, xmlValue)
##links para download
links <- getNodeSet(url.conteudo, "//div[2]/div[2]/a")
links <- xmlSApply(links, xmlGetAttr, name = "href")
links <- links[grep(".pdf",links)]
dados <- rbind(dados, cbind(titulos,links))
}
## Links Corretos para download
links.final <- dados$links[grep(".pdf", dados$links)]
links.final <- paste("http://www.brasiliana.usp.br", links.final, sep = "" )
### Download em loop
for (url in links.final) {
newName <- paste (format(Sys.time(), "%Y%m%d%H%M%S"), "-", basename(url), sep =" ")
download.file(url, destfile = newName, mode="wb")
}
### Excluindo caracteres que podem comprometer o vetor de nomeação
titulos.final <- dados$titulos[grep(".pdf", dados$links)]
titulos.final <- gsub(":","", titulos.final)
titulos.final <- gsub("[.]","", titulos.final)
titulos.final <- gsub("[?]","", titulos.final)
titulos.final <- gsub("[/]","", titulos.final)
titulos.final <- gsub("[|]","", titulos.final)
titulos.final <- substr(titulos.final, 1, 60)
c<-1:1438
titulos.final <- paste(c,titulos.final, sep = "-")
### Renomeando todos
### Com problemas...
oldNames<-list.files(".") #some argument here
newNames <- titulos.final
for (i in 1:length(oldNames)) file.rename(oldNames[i],newNames[i])
oldNames<-list.files(".") #some argument here
newNames<-paste(sep="",oldNames,".pdf")
for (i in 1:length(oldNames)) file.rename(oldNames[i],newNames[i])