sgat

The goal of sgat package is to retrieve information from Google’s searches’ “Popular Times” and geolocation.

Installation

You can install the released version of sgat package from CRAN with:

install.packages("sgat")

And the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("matiaspoullain/sgat")

Example

Always start by initializing the driver, once per session:

library(sgat)
initialization_sgat()
#> [1] "Connecting to remote server"
#> $acceptInsecureCerts
#> [1] FALSE
#> 
#> $browserName
#> [1] "firefox"
#> 
#> $browserVersion
#> [1] "85.0.2"
#> 
#> $`moz:accessibilityChecks`
#> [1] FALSE
#> 
#> $`moz:buildID`
#> [1] "20210208133944"
#> 
#> $`moz:geckodriverVersion`
#> [1] "0.28.0"
#> 
#> $`moz:headless`
#> [1] FALSE
#> 
#> $`moz:processID`
#> [1] 57600
#> 
#> $`moz:profile`
#> [1] "C:\\Users\\Matias\\AppData\\Local\\Temp\\rust_mozprofileLtDB4f"
#> 
#> $`moz:shutdownTimeout`
#> [1] 60000
#> 
#> $`moz:useNonSpecCompliantPointerOrigin`
#> [1] FALSE
#> 
#> $`moz:webdriverClick`
#> [1] TRUE
#> 
#> $pageLoadStrategy
#> [1] "normal"
#> 
#> $platformName
#> [1] "windows"
#> 
#> $platformVersion
#> [1] "10.0"
#> 
#> $rotatable
#> [1] FALSE
#> 
#> $setWindowRect
#> [1] TRUE
#> 
#> $strictFileInteractability
#> [1] FALSE
#> 
#> $timeouts
#> $timeouts$implicit
#> [1] 0
#> 
#> $timeouts$pageLoad
#> [1] 300000
#> 
#> $timeouts$script
#> [1] 30000
#> 
#> 
#> $unhandledPromptBehavior
#> [1] "dismiss and notify"
#> 
#> $webdriver.remote.sessionid
#> [1] "2c38b83d-cbc5-4f53-b942-cd79560428dd"
#> 
#> $id
#> [1] "2c38b83d-cbc5-4f53-b942-cd79560428dd"

This package was created to use it on restaurants, bars, etc… located in Ushuaia city, Tierra del Fuego, Argentina. You can retrieve a vector of them by using the next code:

restaurants <- ushuaia_restaurants()
head(restaurants)
#> [1] "Moustacchio, San Martín 298, Ushuaia"      
#> [2] "Prana, Av Maipu 505, Ushuaia"              
#> [3] "Kuar, Av Perito Moreno 2232, Ushuaia"      
#> [4] "Kuar 1900, San Martín 471, Ushuaia"        
#> [5] "Hostal del Bosque, Magallanes 709, Ushuaia"
#> [6] "Sur 54 Lodge, A 70 Km de Ushuaia, Ushuaia"

You can retrieve the information from some of these restaurants. The searches are not restricted to Ushuaia, but remember to be specific in your searches, specially if the location you are looking for is far away:

bar_1 <- sgat("coutume, 47 rue de babylone, 75007 paris, france")
head(bar_1)
#>                                              lugar   dia hora concurrencia
#> 1 coutume, 47 rue de babylone, 75007 paris, france lunes    6         0.00
#> 2 coutume, 47 rue de babylone, 75007 paris, france lunes    7         0.00
#> 3 coutume, 47 rue de babylone, 75007 paris, france lunes    8        12.75
#> 4 coutume, 47 rue de babylone, 75007 paris, france lunes    9        22.50
#> 5 coutume, 47 rue de babylone, 75007 paris, france lunes   10        21.00
#> 6 coutume, 47 rue de babylone, 75007 paris, france lunes   11        15.00
#>    latitud longitud fecha.de.busqueda
#> 1 48.85166 2.318299        2021-02-12
#> 2 48.85166 2.318299        2021-02-12
#> 3 48.85166 2.318299        2021-02-12
#> 4 48.85166 2.318299        2021-02-12
#> 5 48.85166 2.318299        2021-02-12
#> 6 48.85166 2.318299        2021-02-12

Although, some other Google searches doesn’t have the wanted information. In that case, NULL is returned:

bar_2 <- sgat("Moustacchio, San Martín 298, Ushuaia", tiempo.espera = 20)
bar_2
#> NULL

You also can search for the information from a single day of the week:

bar_3 <- sgat_day("coutume, 47 rue de babylone, 75007 paris, france", "martes")
head(bar_3)
#>                                              lugar    dia hora concurrencia
#> 1 coutume, 47 rue de babylone, 75007 paris, france martes    6         0.00
#> 2 coutume, 47 rue de babylone, 75007 paris, france martes    7         0.00
#> 3 coutume, 47 rue de babylone, 75007 paris, france martes    8         8.25
#> 4 coutume, 47 rue de babylone, 75007 paris, france martes    9        13.50
#> 5 coutume, 47 rue de babylone, 75007 paris, france martes   10        19.50
#> 6 coutume, 47 rue de babylone, 75007 paris, france martes   11        24.75
#>    latitud longitud fecha.de.busqueda
#> 1 48.85166 2.318299        2021-02-12
#> 2 48.85166 2.318299        2021-02-12
#> 3 48.85166 2.318299        2021-02-12
#> 4 48.85166 2.318299        2021-02-12
#> 5 48.85166 2.318299        2021-02-12
#> 6 48.85166 2.318299        2021-02-12

A new function was added which let’s the user to search for the most popular places of a city or area according to Tripadvisor:

pinamar <- tripadvisor_places("Pinamar, Argentina", 10)
pinamar
#>  [1] "La Jirafa"              "Palote Pizza"           "Los troncos"           
#>  [4] "La Armonía"             "Paxapoga del Mar"       "Rada Beach Demuru"     
#>  [7] "Il Garda"               "Parador Barlovento"     "Pescaderia Di Costanzo"
#> [10] "Tante"