从tomtom网站提取图形数据

Extracting graph data from tomtom website

我想从 tomtom 网站提取一些城市交通数据。例如,从下面的站点,我想下载 "HOURLY CONGESTION LEVEL" 图的数据。

https://www.tomtom.com/en_gb/traffic-index/wuhan-traffic/

是否可以使用 R 下载该数据?

如果有任何帮助,我将非常高兴。

这个比较简单。图表中的数据来自从对 TomTom API 的 GET 请求中收到的 json 个文件。以下是获取 tibble 中的每小时数据的方法:

res <- httr::GET("https://api.midway.tomtom.com/ranking/liveHourly/CHN_wuhan")
tibble::as_tibble(apply(do.call(rbind, content(res, "parsed")$data), 2, unlist))
#> # A tibble: 168 x 7
#>    JamsDelay TrafficIndexLive UpdateTime JamsLength JamsCount TrafficIndexWee~
#>        <dbl>            <dbl>      <dbl>      <dbl>     <dbl>            <dbl>
#>  1       1.3                0    1.59e12        1.3         1                0
#>  2       3.6                0    1.59e12        1.3         3                0
#>  3       2.4                0    1.59e12        0.4         2                0
#>  4       1.2                0    1.59e12        2.5         2                0
#>  5      28                  1    1.59e12        3.1        10                1
#>  6      47.2                7    1.59e12       11.3        21                7
#>  7     119.                10    1.59e12       19.5        40               12
#>  8     142.                15    1.59e12       34.2        58               14
#>  9     103.                14    1.59e12       23.9        40               14
#> 10      55.2               11    1.59e12        8.1        19                9
#> # ... with 158 more rows, and 1 more variable: UpdateTimeWeekAgo <dbl>

reprex package (v0.3.0)

于 2020-06-19 创建

加上艾伦的好答案: 如果数据以 JSON 格式传递,您还可以利用 R 的 jsonlite 包:

library(jsonlite)

url_path <- "https://api.midway.tomtom.com/ranking/liveHourly/CHN_wuhan"
res <- jsonlite::fromJSON(url_path)
head(res$data)
  JamsDelay TrafficIndexLive   UpdateTime JamsLength JamsCount TrafficIndexWeekAgo UpdateTimeWeekAgo
1       1.3                0 1.591988e+12        1.3         1                   0      1.591384e+12
2       3.6                0 1.591992e+12        1.3         3                   0      1.591387e+12
3       2.4                0 1.591996e+12        0.4         2                   0      1.591391e+12
4       1.2                0 1.591999e+12        2.5         2                   0      1.591394e+12
5      28.0                1 1.592006e+12        3.1        10                   1      1.591401e+12
6      47.2                7 1.592009e+12       11.3        21                   7      1.591404e+12