Skip to contents

Player card: position, height, weight, birth date, age, country and photo.

Usage

vhl_player(player_id, return_parsed = TRUE)

Arguments

player_id

Player id (player_id in any VHL frame), e.g. 34526.

return_parsed

TRUE (default) returns the parsed tibble; FALSE returns the page's parsed record (a named list, plus _request with the season, stage, tn and the ids asked for).

Value

A fastRhockey_data tibble with one row per player (one row):

col_nametypedescription
player_idintegerPlayer id, read from the page's own /players/{id}/games/ tab link; equals the requested id or the capture refuses.
namecharacterPlayer name, 'Surname Given' (Latin), from h1 without the number.
jerseyintegerCurrent jersey number (the h1 '#79' badge); null when the page shows none.
positioncharacterPosition in English (h2.player-card__subtitle): Forward and Goalkeeper seen; the defence label is unverified.
height_cmintegerHeight in centimetres (Height).
weight_kgintegerWeight in kilograms (Weight).
borncharacterBirth date 'DD.MM.YYYY' as the public page prints it.
ageintegerAge in years on the capture date (from '24 years old').
countrycharacterCountry (English); null when the card omits it.
photo_urlcharacterPhoto URL on img.khl.ru, /teamplayers/{team_season_id}/{player_id}/320.jpg. The team-season id is the one the photo was filed under, not the current team: 34526's photo uses 15424 = Magnitka in tn 1375 (25/26 playoffs, verified on /en/stats/players/1375/) while his newest row is 15516 (Dynamo-Altai, 1430).

With return_parsed = FALSE, the page's parsed record (a named list) instead.

Details

Source: GET https://www.vhlru.ru/en/players/{player_id}/ (server-rendered HTML, keyless; parsed with rvest). Unofficial use of a public source; payloads are not redistributed.

Terms of use

Check the provider's terms of use before redistributing this data.

Errors

  • fastRhockey_no_data: the VHL has nothing for the request (a season without that stage, a game not in the season's calendar, an unknown game, player or team page).

  • fastRhockey_bad_request: a bad season / stage / id, a missing argument, or HTTP 400 / 422.

  • fastRhockey_asset_fetch: the page could not be fetched, or it is not the page asked for (another season, game or player; a missing table or header drift).

Examples

# \donttest{
  try(vhl_player(player_id = 34526))
#> ── VHL Player Information from vhlru.ru ─────────────────── fastRhockey 1.1.0 ──
#> ℹ Data updated: 2026-11-02 03:53:34 UTC
#> # A tibble: 1 × 10
#>   player_id name         jersey position height_cm weight_kg born    age country
#>       <int> <chr>         <int> <chr>        <int>     <int> <chr> <int> <chr>  
#> 1     34526 Mirzabalaye…     NA Forward        182        79 27.0…    24 NA     
#> # ℹ 1 more variable: photo_url <chr>
# }