0
もっと速くするためにコードを修正する必要があります。私は読んでいると私はprofvis
パッケージに導入されました。R:Profvisは結果を表示していません
事実はエクササイズでは動作しますが、実際のコードでは動作しません。
これは私が話しているexcersiceコードです:
library("profvis")
profvis({
data(movies, package = "ggplot2movies") # Load data
movies = movies[movies$Comedy == 1,]
plot(movies$year, movies$rating)
model = loess(rating ~ year, data = movies) # loess regression line
j = order(movies$year)
lines(movies$year[j], model$fitted[j]) # Add line to the plot
})
そして、これは私のコード(私は最適化する必要がある1つ)です: しかしprofvis
は空白の画面が表示されます。
library("profvis")
library(RSelenium)
library(rvest)
library(dplyr)
library(stringr)
library(urltools)
#start RSelenium
rD <- rsDriver(port = 4506L, browser = "firefox", version = "latest", chromever = "latest",
geckover = "latest", iedrver = NULL, phantomver = "2.1.1",
verbose = TRUE, check = TRUE)
remDr <- rD[["client"]]
### URLS ###
falabella_urls <- c("http://www.falabella.com.pe/falabella-pe/category/cat7230497/Accesorios-Hombre?No=0&Nrpp=1000",
"http://www.falabella.com.pe/falabella-pe/category/cat7230497/Accesorios-Hombre?No=1000&Nrpp=1000")
#############################
testaaa <- function() {
falabella_data_list <- list()
for (i in falabella_urls$url[1:2]) {
remDr$navigate(i)
print(i)
Sys.sleep(05)
page_source<-remDr$getPageSource()
product_info <- function(node){
subcategoria_url <- str_split(path(i), "\\/")[[1]][4]
s.marca <- html_nodes(node,"div.marca a") %>% html_text
s.producto <- html_nodes(node,"div.detalle a") %>% html_attr("href")
s.precio.antes <- html_nodes(node, "div.precio2 span") %>% html_text
s.precio.actual <- html_nodes(node, "div.precio1 span") %>% html_text
data.frame(
fecha = as.character(Sys.Date()),
subcategoria = subcategoria_url,
ecommerce = "Falabella",
marca = s.marca,
producto = s.producto,
precio.antes = ifelse(length(s.precio.antes) == 0, NA, s.precio.antes),
precio.actual = ifelse(length(s.precio.actual) == 0, NA, s.precio.actual),
stringsAsFactors=F
)
}
doc <- read_html(iconv(page_source[[1]]), to="UTF-8") %>%
html_nodes(".cajaLP4x")
productos <- lapply(doc, product_info) %>%
bind_rows()
falabella_data_list[[i]] <- productos # add it to your list
}
falabella = do.call(rbind, falabella_data_list)
}
profvis({testaaa()})