Как ускорить R веб-сканер - PullRequest
0 голосов
/ 28 апреля 2020

Я написал код R, который сканирует данные с сайта публикации вакансий. Действительно. Мой код требует возраста, чтобы выполнить задачу. Буду признателен за любую помощь, чтобы ускорить это.

datalist = list()
for (i in seq_along(page_results)) {

  first_page_url <- "https://www.indeed.com/jobs?q=Now+Hiring&l=Philadelphia%2C+PA&limit=50&radius=100&sort=date"
  page <- read_html(str_c(first_page_url, "&start=", page_results[i]))

  dat <- data.frame(job_title = page %>% 
                      html_nodes("div") %>%
                      html_nodes(xpath = '//*[@data-tn-element = "jobTitle"]') %>%
                      html_attr("title"),

                    #get the company name
                    company_name = page %>% 
                      html_nodes("span")  %>% 
                      html_nodes(xpath = '//*[@class="company"]')  %>% 
                      html_text() %>%
                      stri_trim_both(),

                    #get job location
                    job_location = page %>% 
                      html_nodes("div") %>% 
                      html_nodes(xpath = '//*[@class="location accessible-contrast-color-location"]')%>% 
                      html_text() %>%
                      stri_trim_both(),

                    # get posting date
                    post_date <- page %>%
                      html_nodes("span") %>% 
                      html_nodes(xpath = '//*[@class="date "]')%>% 
                      html_text() %>%
                      stri_trim_both())
  dat$i <- i  # maybe you want to keep track of which iteration produced it?
  datalist[[i]] <- dat # add it to your list
}

big_data <- do.call(rbind, datalist)

...