【发布时间】:2020-08-29 13:12:24
【问题描述】:
我想抓取 Play 商店的美国应用程序,但我在巴西。 如何使用 R 伪造我的位置?我正在使用 Firefox。
这是我的代码:
urls <- c('https://play.google.com/store/apps/collection/cluster?clp=0g4jCiEKG3RvcHNlbGxpbmdfZnJlZV9BUFBMSUNBVElPThAHGAM%3D:S:ANO1ljKs-KA&gsr=CibSDiMKIQobdG9wc2VsbGluZ19mcmVlX0FQUExJQ0FUSU9OEAcYAw%3D%3D:S:ANO1ljL40zU',
'https://play.google.com/store/apps/collection/cluster?clp=0g4jCiEKG3RvcHNlbGxpbmdfcGFpZF9BUFBMSUNBVElPThAHGAM%3D:S:ANO1ljLdnoU&gsr=CibSDiMKIQobdG9wc2VsbGluZ19wYWlkX0FQUExJQ0FUSU9OEAcYAw%3D%3D:S:ANO1ljIKVpg',
'https://play.google.com/store/apps/collection/cluster?clp=0g4fCh0KF3RvcGdyb3NzaW5nX0FQUExJQ0FUSU9OEAcYAw%3D%3D:S:ANO1ljLe6QA&gsr=CiLSDh8KHQoXdG9wZ3Jvc3NpbmdfQVBQTElDQVRJT04QBxgD:S:ANO1ljKx5Ik',
'https://play.google.com/store/apps/collection/cluster?clp=0g4cChoKFHRvcHNlbGxpbmdfZnJlZV9HQU1FEAcYAw%3D%3D:S:ANO1ljJ_Y5U&gsr=Ch_SDhwKGgoUdG9wc2VsbGluZ19mcmVlX0dBTUUQBxgD:S:ANO1ljL4b8c',
'https://play.google.com/store/apps/collection/cluster?clp=0g4cChoKFHRvcHNlbGxpbmdfcGFpZF9HQU1FEAcYAw%3D%3D:S:ANO1ljLtt38&gsr=Ch_SDhwKGgoUdG9wc2VsbGluZ19wYWlkX0dBTUUQBxgD:S:ANO1ljJCqyI',
'https://play.google.com/store/apps/collection/cluster?clp=0g4YChYKEHRvcGdyb3NzaW5nX0dBTUUQBxgD:S:ANO1ljLhYwQ&gsr=ChvSDhgKFgoQdG9wZ3Jvc3NpbmdfR0FNRRAHGAM%3D:S:ANO1ljIKta8')
flw_rk <- vector("list", length(urls))
df_total_rk = data.frame()
selCommand <- wdman::selenium(jvmargs = c("-Dwebdriver.firefox.verboseLogging=true"), retcommand = TRUE)
shell(selCommand, wait = FALSE, minimized = TRUE)
remDr <- remoteDriver(port = 4567L, browserName = "firefox")
remDr$open()
for (i in urls){
remDr$navigate(i)
for(j in 1:5){
remDr$executeScript(paste("scroll(0,",j*10000,");"))
Sys.sleep(3)
}
html_obj <- remDr$getPageSource(header = TRUE)[[1]] %>% read_html()
names <- html_obj %>% html_nodes(".WsMG1c.nnK0zc") %>% html_text()
flw_rk[[i]] <- data.frame(names = names, stringsAsFactors = F)
}
【问题讨论】:
-
您的位置由您的 IP 地址决定。在 R 中您无法更改 IP 地址。您必须使用 VPN 之类的东西通过不同的服务器路由您的请求。
-
但似乎可以使用 Python 做到这一点:stackoverflow.com/questions/60025987/fake-location-on-firefox
标签: r web-scraping location