Article LinkedIn: https://www.linkedin.com/pulse/paper-research-petroleum-engineering-do-you-know-how-spell-reyes/

library(petro.One)

# provide the list of keywords
keywords <- "    
    sucker rod
    sucker-rod
    sucker rod pumping
    SRP
    beam pump
    beam pumping
    rod pump
    rod pumping
    pump jack
    surface pumping unit
    subsurface sucker rod pump
    subsurface pump
    sub-surface pump
    sub surface pump
    plunger pump
    tubing pump
    downhole pump
    downhole plunger
    stationary barrel
    travelling barrel
"
# convert the text to a dataframe
# read text table and split rows at carriage return
kw_tbl <- read.table(text = keywords, header = FALSE, sep = "\n", 
                     stringsAsFactors = FALSE, strip.white = TRUE, 
                     col.names = "keyword")
kw_tbl
sucker_rod_pump <- join_keywords(kw_tbl$keyword,
                                   get_papers = TRUE, sleep = 3, verbose = TRUE)

# "sucker rod" is the same as "sucker-rod"
library(rNodal.utils)
save_to_project(sucker_rod_pump, name = "sucker_rod_pump_L1")
sucker_rod_pump$papers

Build iteration loop

# iterate through the keywords dataframe
rec <- vector("list")
i <- 1
for (k in kw_tbl$keyword) {
    url_all  <- make_search_url(query = k, how = "all")    # create search query
    count    <- get_papers_count(url_all)                  # paper count
    rec[[i]] <- list(keyword = k, count = count)           # add observation
    cat(sprintf("%30s %5d \n", k, count))                  # print it
    i <-  i + 1                                            # increment counter
    Sys.sleep(5)                          # do not bug OnePetro website too much
}                                         # be a good internet citizen
data.table::rbindlist(rec)                # final data table


f0nzie/petro.One documentation built on May 29, 2019, 12:05 a.m.