【问题标题】:Extracting location data in R在 R 中提取位置数据
【发布时间】:2018-01-03 17:48:51
【问题描述】:

我想提取 R 中酒店位置的经度和纬度。每个Webpage 都有一个嵌入了其位置的 Google 地图。我使用选择器小工具尝试了各种节点,但无法提取位置。我也尝试使用This 查询作为参考。

library(rvest)
library(magrittr)
library(stringr)

pg <- read_html("https://www.tripadvisor.in/Hotel_Review-g304551-d3507485-Reviews-Red_Fox_Hotel_Delhi_Airport-New_Delhi_National_Capital_Territory_of_Delhi.html")
pg %>% 
html_nodes("#map0Div")

【问题讨论】:

    标签: javascript r web-scraping rvest


    【解决方案1】:

    也许这可能是一种提取&lt;script&gt; 节点的方法。使用你的包

    library(rvest)
    library(stringr)
    library(magrittr)
    

    通过html_nodes("script") 获得访问权限,您可以选择所有匹配“maps.google”的元素

    pg %>%
      html_nodes("script") %>%
      .[str_detect(., "maps\\.google")]
    

    然后提取地理位置

    pg %>%
      html_nodes("script") %>%
      .[str_detect(., "maps\\.google")] %>%
      str_extract_all("[0-9]+\\.[0-9]+,[0-9]+\\.[0-9]+")
    

    因为有很多,我不知道你在找哪一个,所以看看匹配的“maps.google”元素会很有帮助

    pg %>%
      html_nodes("script") %>%
      .[str_detect(., "maps\\.google")] %>%
      str_extract_all("\".*maps\\.google.*\"")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-19
      • 1970-01-01
      • 2017-10-19
      • 2017-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多