Извлечение данных графиков с веб-сайта tomtom - PullRequest
0 голосов
/ 19 июня 2020

Я хочу извлечь данные c городского трафика сома с веб-сайта tomtom. Например, с сайта ниже я хочу загрузить данные графика «ЧАСОВОЙ УРОВЕНЬ ЗАГРУЗКИ».

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

Можно ли загрузить эти данные с помощью Р?

Буду очень рад любой помощи.

Ответы [ 2 ]

2 голосов
/ 19 июня 2020

Добавление хорошего ответа Аллана: если данные доставляются в формате 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
2 голосов
/ 19 июня 2020

Это относительно просто. Данные в диаграммах поступают из json файлов, полученных из запросов GET к TomTom API. Вот как получить почасовые данные в 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>

Создано 19.06.2020 пакетом REPEX (v0.3.0)

...