Dúvida com transformação de dados

Amigos,

estava tentando baixar uns dados usando o RSelenium e consigo pegar os dados da tabela do site do sofascore (https://www.sofascore.com/tournament/football/brazil/brasileiro-serie-a/325) em forma de lista abaixo. O que devo fazer pra transformar em uma tabela dentro de um dataframe? Pensei numa solução que pode funcionar, mas não é nada prática… será que alguém tem alguma ideia mais simples?

"
“# Team Name Goals Succ. dribbles Tackles Assists Accurate passes % Rating\n21\nPepê 3 24 5 1 79.64 7.21\n22\nClaudinho 3 24 12 1 80.6 7.21\n23\nFelipe Alves 0 1 1 0 72.97 7.21\n24\nEdson 1 8 30 1 88.19 7.18\n25\nRaphael Veiga 3 2 1 0 85.4 7.18\n26\nJuninho 1 15 16 2 88.77 7.18\n27\nSabino 3 7 16 0 83.72 7.18\n28\nFelipe 1 17 15 0 89.58 7.15\n29\nElias 0 2 4 0 86.05 7.15\n30\nMarcos Rocha 0 1 21 0 80.59 7.15\n31\nFernando Prass 0 0 0 0 64.59 7.15\n32\nJunior Alonso 0 5 25 1 86.35 7.14\n33\nVitinho 2 10 5 1 80.69 7.14\n34\nYeferson Soteldo 1 24 3 2 78.51 7.14\n35\nGuga 1 6 23 1 86.5 7.14\n36\nNathan 2 1 4 1 80.26 7.13\n37\nVladimir 0 0 0 0 80.82 7.13\n38\nGil 1 0 14 1 88.33 7.12\n39\nRobinho 0 3 3 2 81.12 7.12\n40\nTinga 0 3 8 1 75.5 7.12”
"

Roberto_Padovani,

Para poder ajudar, preciso de algumas informações a mais. Pode passar o código que você usa para obter essa lista? A lista é retornada exatamente assim pelo seu código ou ela ficou com essa formatação depois de colar aqui no Discourse?

To usando o selenium pra poder alterar as páginas da tabela, mas antes queria transformar esses dados em tabela…

require(RSelenium)
remDr$navigate(“https://www.sofascore.com/tournament/football/brazil/brasileiro-serie-a/325”)

webElem2 <- remDr$findElement(using = “css selector”, ‘#__next > main > div > div.Content__PageContainer-sc-14479gi-0.iPKjyT > div.Grid-sc-1kxv72p-0.GIRaO > div.Col-pm5mcz-0.jrtcdI > div.u-mT12 > div > div.Tabs__Content-vifb7j-1.jppjfQ > div > div > table’)

t <- webElem2$getElementText()

Acho que o jeito mais simples é usando a função rvest::html_table(). Abaixo segue um exemplo reprodutível:

require(RSelenium)
library(magrittr)

remDr <- rsDriver(browser = "firefox")
remDr$client$navigate("https://www.sofascore.com/tournament/football/brazil/brasileiro-serie-a/325")

remDr$client$getPageSource() %>%
  purrr::pluck(1) %>%
  xml2::read_html() %>%
  rvest::xml_nodes("div.Tabs__Content-vifb7j-1.jppjfQ > div > div > table") %>%
  rvest::html_table() %>%
  purrr::pluck(1) %>%
  dplyr::as_tibble()
#> # A tibble: 20 x 9
#>      `#` Team  Name  Goals `Succ. dribbles` Tackles Assists `Accurate passe…
#>    <int> <lgl> <chr> <int>            <int>   <int>   <int>            <dbl>
#>  1     1 NA    Paol…     3                3       1       1             68.2
#>  2     2 NA    Edua…     1                0       1       0             73.0
#>  3     3 NA    Luan…     0                0       1       0             47.2
#>  4     4 NA    Mari…     8               18      15       4             79.7
#>  5     5 NA    Fláv…     0                1       9       0             82  
#>  6     6 NA    Gior…     3               17      13       3             76.8
#>  7     7 NA    Viní…     4                9       2       2             79.3
#>  8     8 NA    Math…     0                0       1       1             89.0
#>  9     9 NA    Jean…     0               11       5       0             90.9
#> 10    10 NA    Jand…     0                0       0       0             77.5
#> 11    11 NA    Robe…     0                0       0       0             68  
#> 12    12 NA    Pedr…     0                1      14       0             89.6
#> 13    13 NA    Dani…     1               10       8       0             90.0
#> 14    14 NA    Alis…     1               23       9       3             84.3
#> 15    15 NA    Keno      7               36       7       1             68.9
#> 16    16 NA    Vict…     2                6      17       0             83.4
#> 17    17 NA    Thia…     0                0       4       0             91.1
#> 18    18 NA    Thia…    10                9       7       3             69.0
#> 19    19 NA    Fili…     1               13      18       0             89.3
#> 20    20 NA    Nenê      5                4       7       1             79.5
#> # … with 1 more variable: Rating <dbl>

Created on 2020-10-06 by the reprex package (v0.3.0)

1 curtida

Valeu! Vou jogar aqui pra testar!!!