2017-09-10 10 views
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()}) 

答えて

0

私は同じ問題を持っていた、あなたはprofvisでコードのすべてを置くことを試みることができます({...})

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) 

} 


}) 
関連する問題