gpt4 book ai didi

R:使用 getURL() 提取地址

转载 作者:行者123 更新时间:2023-12-01 02:15:25 24 4
gpt4 key购买 nike

我有大量的谷歌地图 URL,并想从 URL 中获取一个干净的地址以进行地理编码。我最近在 RCurl 包中找到了 getURL(),它为我提供了大量信息

library(RCurl)

getURL("https://maps.google.com/?q=loc%3A+%32%34%34%30+Seattle%2C+%39%38%31%31%36+WA+US")



但我真正感兴趣的是获取位于 getURL() 输出前端的地址片段:

...< meta content=\"loc: 2440 Seattle, 98116 WA US - Google Maps\" property=\"og:title\">...



更新 : 我刚刚意识到上面的 URL 地址是一个不好的例子,这里有一个不同的例子:

getURL("https://maps.google.com/?q=loc%3A+%31%30%30%35%36+Interlake+Ave+N+seattle+WA+US")

...< meta content=\"loc: 10056 Interlake Ave N seattle WA US - Google Maps\" property=\"og:title\">...



有没有人有关于如何有效地解决这个问题的建议?我的道歉,我是 R 的中间人,非常感谢你的帮助。谢谢!!

蒂姆

最佳答案

使用 Google Maps XML-API,如下所示:

require(XML)

burl <- "http://maps.google.com/maps/api/geocode/xml?address="
address <- "2440 Seattle, 98116 WA US"
request <- paste0(burl,URLencode(address))

doc <- htmlTreeParse(request, useInternalNodes=TRUE)
# Interpreted Adress
xmlValue(doc[["//formatted_address"]])
[1] "2440, Seattle-Tacoma International Airport (SEA), Seattle, WA 98158, USA"

编辑
如果您只有编码的 URL,请使用 URLdecode解码它而不是下载 URL:
URL <- "https://maps.google.com/?q=loc%3A+%32%34%34%30+Seattle%2C+%39%38%31%31%36+WA+US"
URL <- gsub(".*loc","",URL) # Get rid of https://...
URL <- URLdecode(URL)
gsub("[:]|[+]", " ", URL) # Get rid of ":" and "+"
[1] " 2440 Seattle, 98116 WA US"

关于R:使用 getURL() 提取地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25274733/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com