【发布时间】:2023-01-03 07:44:35
【问题描述】:
我使用来自googleway 包的google_places 从谷歌获取地点数据框。我正在寻找“德国的献血”(德语)https://www.google.de/maps/search/Blutspende+in+Deutschland/@51.5019637,6.4650438,12z 小插图说每个 API 查询都会在 20 个位置产生结果。 https://cran.r-project.org/web/packages/googleway/vignettes/googleway-vignette.html 我估计德国应该有大约300个献血点。我正在尝试构建一个循环,将所有 Google 地方结果返回到我的关键术语的数据框。可以在这里找到类似的帖子next_page_token not working on second attempt (google_places function)
我如何构建我的循环以使其返回所有 Google 搜索的数据框?
# initialize list
datalist = list()
# start first search
key = "YOUR-KEY"
res <- google_places(search_string = "Blutspende in Deutschland",
key = key)
# store first 20 results
datalist[[1]] <- data.frame(Name = res$results$name,
Place = res$results$formatted_address)
# set next page token
token = res$next_page_token
for(i in 1:10){
# sleep time
Sys.sleep(2)
# next search
res_n <- google_places(search_string = "Blutspende in Deutschland",
page_token = token,
key = key)
# store next results
datalist[[i+1]] <- data.frame(Name = res_n$results$name,
Place = res_n$results$formatted_address)
# set next token again
token <- res_n$next_page_token
# print status
aa = res_n$status
cat(i, aa, '\n')
}
# to dataframe
big_data = do.call(rbind, datalist)
此搜索中存在大量重复项。
library(tidyverse)
big_data %>% distinct() %>% nrow()
对我来说,202 个条目中我有 54 个不同的条目。我不知道为什么。
【问题讨论】:
标签: r loops for-loop google-api googleway