Colección Digital UANL

Libros antiguos http://cdigital.dgb.uanl.mx/la/

Detalle de los metadatos https://cd.dgb.uanl.mx/handle/201504211/1313?show=full https://cd.dgb.uanl.mx/handle/201504211/6090?show=full

Fuentes

https://jtr13.github.io/cc19/web-scraping-using-rvest.htmlhttps://www.kdnuggets.com/2017/06/web-scraping-r-online-food-blogs.html

Scrap

#sitio
paths_allowed(
  paths = c("http://cdigital.dgb.uanl.mx/la/search/title?groups=top_250&sort=user_rating")
)
## [1] TRUE
uanldb <- read_html("http://cdigital.dgb.uanl.mx/la")
uanldb
## {html_document}
## <html>
## [1] <head>\n<meta http-equiv="Content-Type" content="text/html; charset=UTF-8 ...
## [2] <body>\n<h1>Index of /la</h1>\n<ul>\n<li><a href="/"> Parent Directory</a ...
#lista de documentos en tabla

links <- html_nodes(uanldb,"a")
## Get locations of recipe links
loc <-which(str_detect(links, "<a href"))
links <- links[loc]
all_docs_links <- map_chr(links, trim_)
enlacedf <- cbind(all_docs_links)
enlacedf <-data.frame(enlacedf)
colnames(enlacedf)<- c("enlace")
 enlacedf <-enlacedf[!(enlacedf$enlace == 'Parent'),]
enlacedf <-data.frame(enlacedf)
#class(enlacedf)
colnames(enlacedf)<- c("enlace")
write.csv(enlacedf,"enlacesuanlto2.csv", row.names = FALSE)
#Enlaces a páginas html

enlacedf$enlacev<-paste0("http://cdigital.dgb.uanl.mx/la/",enlacedf$enlace,"/",enlacedf$enlace,".html")
  
# Verificación de si existe la página 

expag <- sapply(enlacedf$enlacev, readUrl)

#class(expag)
#str(expag)

docshtml<-lapply(expag, function(x) x[!grepl("empty page", x)])

undocshtml<-unlist(docshtml)
newresulta <- rbind(undocshtml)
tnewresulta<-t(newresulta)
dftnewresulta<-as.data.frame(tnewresulta)
#class(dftnewresulta)
colnames(dftnewresulta)<- c("condipag")
rownames <- rownames(dftnewresulta)
dftnewresulta$enla<-rownames
row.names(dftnewresulta) <- seq(1, 20410)
dftnewresulta$borraenla<-str_detect(dftnewresulta$enla, "doc")
ndftnewresulta<-dftnewresulta[dftnewresulta$borraenla != FALSE, ]   

ndftnewresulta$enlac<-str_sub(ndftnewresulta$enla,1,(str_length(ndftnewresulta$enla)-4))

enlaval<-as.data.frame(ndftnewresulta$enlac)
colnames(enlaval)<- c("enlace")

enlaval$tit<-sapply(enlaval$enlace,get_enca_data)
#class(enlaval)
#str(enlaval)
enlavaltitsl<-as.data.frame(unlist(enlaval$tit))
rownames <- rownames(enlavaltitsl)
enlavaltitsl$enlace<-rownames
row.names(enlavaltitsl) <- seq(1, 10188)


write.csv(enlavaltitsl,"enlacesuanltit.csv", row.names = FALSE)