크롤링을 사용하여 geo_code만들기
library(xml2)
library(devtools)
install_github('qkdrk777777/kma2')
## Skipping install of 'kma2' from a github remote, the SHA1 (d7b37a54) has not changed since last install.
## Use `force = TRUE` to force installation
library(kma2)
library(plyr)
library(stringr)
library(automap)
## Loading required package: sp
library(gstat)
library(RSelenium)
library(devtools)
geo_code=function(name,port1=4565L,port2=4566L,n=3){
library(devtools)
if (!require("RSelenium")) {
install_version("binman", version = "0.1.0", repos = "https://cran.uni-muenster.de/")
install_version("wdman", version = "0.2.2", repos = "https://cran.uni-muenster.de/")
install_version("RSelenium", version = "1.7.1", repos = "https://cran.uni-muenster.de/")
}
library(RSelenium)
install_github('qkdrk777777/kma2')
library(kma2)
pack2(c("rvest", "httr", "stringr", "RCurl", "XML", "progress"))
pJS <<- wdman::phantomjs(port = port1)
eCaps <<- list(chromeOptions = list(prefs = list(profile.default_content_settings.popups = port2, download.prompt_for_download = FALSE)))
rD <<- rsDriver(extraCapabilities = eCaps)
remDr <<- rD$client
# remDr$open()
url='https://www.google.com/maps'
remDr$navigate(url)
search=NULL
while(length(search)==0){
assign('search',remDr$findElement(using='css selector',value='input#searchboxinput.tactile-searchbox-input'))
}
data=NULL
for(i in 1:length(name)){
search$clearElement()
search$sendKeysToElement(list(name[i],key='enter'))
Sys.sleep(n)
lonlat=as.numeric(str_split(substr(remDr$getCurrentUrl()[[1]],
regexpr('@',remDr$getCurrentUrl()[[1]])+1,regexpr(',[0-9]+z',remDr$getCurrentUrl()[[1]])-1),',')[[1]])
data=rbind(data,data.frame(name=name[i],lat=lonlat[1],lon=lonlat[2]))
}
try(silent = T,rD$server$stop())
try(silent = T,remDr$close())
try(silent = T,pJS$stop())
return(data)
}
a=geo_code('대구대학교')
## Skipping install of 'kma2' from a github remote, the SHA1 (d7b37a54) has not changed since last install.
## Use `force = TRUE` to force installation
## Loading required package: bitops
##
## Attaching package: 'XML'
## The following object is masked from 'package:rvest':
##
## xml
## checking phantomjs versions:
## BEGIN: PREDOWNLOAD
## BEGIN: DOWNLOAD
## BEGIN: POSTDOWNLOAD
## checking Selenium Server versions:
## BEGIN: PREDOWNLOAD
## BEGIN: DOWNLOAD
## BEGIN: POSTDOWNLOAD
## checking chromedriver versions:
## BEGIN: PREDOWNLOAD
## BEGIN: DOWNLOAD
## BEGIN: POSTDOWNLOAD
## checking geckodriver versions:
## BEGIN: PREDOWNLOAD
## BEGIN: DOWNLOAD
## BEGIN: POSTDOWNLOAD
## checking phantomjs versions:
## BEGIN: PREDOWNLOAD
## BEGIN: DOWNLOAD
## BEGIN: POSTDOWNLOAD
## [1] "Connecting to remote server"
## $acceptInsecureCerts
## [1] FALSE
##
## $acceptSslCerts
## [1] FALSE
##
## $applicationCacheEnabled
## [1] FALSE
##
## $browserConnectionEnabled
## [1] FALSE
##
## $browserName
## [1] "chrome"
##
## $chrome
## $chrome$chromedriverVersion
## [1] "72.0.3626.7 (efcef9a3ecda02b2132af215116a03852d08b9cb)"
##
## $chrome$userDataDir
## [1] "C:\\Users\\cj\\AppData\\Local\\Temp\\scoped_dir13424_28015"
##
##
## $cssSelectorsEnabled
## [1] TRUE
##
## $databaseEnabled
## [1] FALSE
##
## $`goog:chromeOptions`
## $`goog:chromeOptions`$debuggerAddress
## [1] "localhost:57559"
##
##
## $handlesAlerts
## [1] TRUE
##
## $hasTouchScreen
## [1] FALSE
##
## $javascriptEnabled
## [1] TRUE
##
## $locationContextEnabled
## [1] TRUE
##
## $mobileEmulationEnabled
## [1] FALSE
##
## $nativeEvents
## [1] TRUE
##
## $networkConnectionEnabled
## [1] FALSE
##
## $pageLoadStrategy
## [1] "normal"
##
## $platform
## [1] "Windows NT"
##
## $proxy
## named list()
##
## $rotatable
## [1] FALSE
##
## $setWindowRect
## [1] TRUE
##
## $takesHeapSnapshot
## [1] TRUE
##
## $takesScreenshot
## [1] TRUE
##
## $timeouts
## $timeouts$implicit
## [1] 0
##
## $timeouts$pageLoad
## [1] 300000
##
## $timeouts$script
## [1] 30000
##
##
## $unexpectedAlertBehaviour
## [1] "ignore"
##
## $version
## [1] "71.0.3578.98"
##
## $webStorageEnabled
## [1] TRUE
##
## $webdriver.remote.sessionid
## [1] "29fb9d228a460be27b490492649e62ac"
##
## $id
## [1] "29fb9d228a460be27b490492649e62ac"
a
## name lat lon
## 1 대구대학교 35.90217 128.8469