Sto provando a scrivere il codice che andrà ad ogni pagina e prendere informazioni da lì. Url < - http://www.wikiart.org/en/claude-monet/mode/all-paintings-by-alphabetCome scrivere codice su web crawling e scraping in R
Ho il codice per emettere tutti gli hrefs. Ma non funziona.
library(XML)
library(RCurl)
library(stringr)
tagrecode <- readHTMLTable ("http://www.wikiart.org/en/claude-monet/mode/all- paintings-by-alphabet")
tabla <- as.data.frame(tagrecode)
str(tabla)
names (tabla) <- c("name", "desc", "cat", "updated")
str(tabla)
res <- htmlParse ("http://www.wikiart.org/en/claude-monet/mode/all-paintings-by- alphabet")
enlaces <- getNodeSet (res, "//p[@class='pb5']/a/@href")
enlaces <- unlist(lapply(enlaces, as.character))
tabla$enlace <- paste("http://www.wikiart.org/en/claude-monet/mode/all-paintings-by- alphabet")
str(tabla)
lisurl <- tabla$enlace
fu1 <- function(url){
print(url)
pas1 <- htmlParse(url, useInternalNodes=T)
pas2 <- xpathSApply(pas1, "//p[@class='pb5']/a/@href")
}
urldef <- lapply(lisurl,fu1)
dopo aver elenco degli URL di tutte le immagini di questa pagina voglio andare al secondo-terzo -...- 23 pagine per raccogliere gli URL di tutte le immagini.
Passaggio successivo per recuperare informazioni su ogni immagine. Ho un codice funzionante per uno e ho bisogno di costruirlo in un codice generale.
library(XML)
url = "http://www.wikiart.org/en/claude-monet/camille-and-jean-monet-in-the-garden-at-argenteuil"
doc = htmlTreeParse(url, useInternalNodes=T)
pictureName <- xpathSApply(doc,"//h1[@itemprop='name']", xmlValue)
date <- xpathSApply(doc, "//span[@itemprop='dateCreated']", xmlValue)
author <- xpathSApply(doc, "//a[@itemprop='author']", xmlValue)
style <- xpathSApply(doc, "//span[@itemprop='style']", xmlValue)
genre <- xpathSApply(doc, "//span[@itemprop='genre']", xmlValue)
pictureName
date
author
style
genre
Ogni consiglio su come farlo sarà apprezzato!