Last active
July 17, 2020 12:59
-
-
Save niisar/a27dd7aee1e3012186502a9cd491ed4d to your computer and use it in GitHub Desktop.
Web Scrapping_R.ipynb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"nbformat": 4, | |
"nbformat_minor": 0, | |
"metadata": { | |
"colab": { | |
"name": "Web Scrapping_R.ipynb", | |
"provenance": [], | |
"collapsed_sections": [], | |
"authorship_tag": "ABX9TyO15ke2eOIu+G5Somf0v9XY", | |
"include_colab_link": true | |
}, | |
"kernelspec": { | |
"name": "ir", | |
"display_name": "R" | |
} | |
}, | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "view-in-github", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"<a href=\"https://colab.research.google.com/gist/niisar/a27dd7aee1e3012186502a9cd491ed4d/web-scrapping_r.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "P6jPDmG-oohu", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"# Install Package and Use Library" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "leA3iZuFn3Pc", | |
"colab_type": "code", | |
"colab": {} | |
}, | |
"source": [ | |
"# install.packages(\"tidyverse\")\n", | |
"# install.packages(\"janitor\")" | |
], | |
"execution_count": 46, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "IlwVNc-EpCvG", | |
"colab_type": "code", | |
"colab": {} | |
}, | |
"source": [ | |
"library(rvest)\n", | |
"library(tidyverse)" | |
], | |
"execution_count": 47, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "QYjuUv01pSlT", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"# Extracting Data into Dataframe" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "O5Kg5tFfqyyy", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "K2DoWtHhpfx6", | |
"colab_type": "code", | |
"colab": {} | |
}, | |
"source": [ | |
"player <- read_html(\"https://www.esks.com/players/eric-blake/164926/\")" | |
], | |
"execution_count": 48, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "dFsPYJ0NqryW", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"## Get Players Name" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "O22mJ5GmrUl6", | |
"colab_type": "code", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 34 | |
}, | |
"outputId": "a3df31ea-df6f-4b7a-efd7-5d38ef5fac97" | |
}, | |
"source": [ | |
"name_class <- player %>%\n", | |
" html_nodes(\".hide-for-mobile .last-name, .hide-for-mobile .first-name\") %>%\n", | |
" html_attr(\"class\") %>%\n", | |
" print()" | |
], | |
"execution_count": 49, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": [ | |
"[1] \"first-name\" \"last-name\" \n" | |
], | |
"name": "stdout" | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "Lb2gGM1BrbVg", | |
"colab_type": "code", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 34 | |
}, | |
"outputId": "9e507aa0-0dcf-4b5c-8144-285f5aab9663" | |
}, | |
"source": [ | |
"name_text <- player %>%\n", | |
" html_nodes(\".hide-for-mobile .last-name, .hide-for-mobile .first-name\") %>%\n", | |
" html_text(trim = T) %>%\n", | |
" print()" | |
], | |
"execution_count": 50, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": [ | |
"[1] \"Eric\" \"Blake\"\n" | |
], | |
"name": "stdout" | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "SrsCMt0OrcVO", | |
"colab_type": "code", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 102 | |
}, | |
"outputId": "c9fc4919-bd4b-4e22-d3f3-2fa71a9eade7" | |
}, | |
"source": [ | |
"options(warn=-1)\n", | |
"name_df <- tibble(name_class, name_text) %>%\n", | |
" print()" | |
], | |
"execution_count": 51, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": [ | |
"\u001b[90m# A tibble: 2 x 2\u001b[39m\n", | |
" name_class name_text\n", | |
" \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \n", | |
"\u001b[90m1\u001b[39m first-name Eric \n", | |
"\u001b[90m2\u001b[39m last-name Blake \n" | |
], | |
"name": "stdout" | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "GlLvCTuCsfiZ", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"## Get Player Stats" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "SgUJz-hIsTEz", | |
"colab_type": "code", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 51 | |
}, | |
"outputId": "ef5f6291-5034-48e0-97c8-f91915599c8e" | |
}, | |
"source": [ | |
"stats_class <- player %>%\n", | |
" html_nodes(\".label, .value\") %>%\n", | |
" html_attr(\"class\") %>%\n", | |
" print()" | |
], | |
"execution_count": 52, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": [ | |
" [1] \"label\" \"value\" \"label\" \"value\" \"label\" \"value\" \"label\" \"value\" \"label\"\n", | |
"[10] \"value\" \"label\" \"value\"\n" | |
], | |
"name": "stdout" | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "WdjCB7CTsvyN", | |
"colab_type": "code", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 68 | |
}, | |
"outputId": "08a23932-274b-4638-bcd5-a8bb92cc528f" | |
}, | |
"source": [ | |
"stats_text <- player %>%\n", | |
" html_nodes(\".label, .value\") %>%\n", | |
" html_text(trim = T) %>%\n", | |
" print()" | |
], | |
"execution_count": 53, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": [ | |
" [1] \"Height\" \"6'2\" \"Weight\" \"190 lbs\" \n", | |
" [5] \"Birth Date (Age)\" \"1996-04-01 (24)\" \"Born\" \"Hamilton, ON\" \n", | |
" [9] \"School\" \"McMaster\" \"Status\" \"NAT\" \n" | |
], | |
"name": "stdout" | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "VTWESK-Ys0Ts", | |
"colab_type": "code", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 85 | |
}, | |
"outputId": "b55b7388-eadd-4515-820c-f9663f67cbd8" | |
}, | |
"source": [ | |
"stats_df <- tibble(stats_class, stats_text) %>%\n", | |
" mutate_all(list(~str_remove(., \"\\\\s\\\\(.*\"))) %>%\n", | |
" mutate(key = ceiling(row_number()/2)) %>%\n", | |
" pivot_wider(id_cols = key, names_from = stats_class, values_from = stats_text) %>%\n", | |
" select(-key) %>%\n", | |
" pivot_wider(names_from = label, values_from = value) %>%\n", | |
" print()" | |
], | |
"execution_count": 54, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": [ | |
"\u001b[90m# A tibble: 1 x 6\u001b[39m\n", | |
" Height Weight `Birth Date` Born School Status\n", | |
" \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \n", | |
"\u001b[90m1\u001b[39m 6'2 190 lbs 1996-04-01 Hamilton, ON McMaster NAT \n" | |
], | |
"name": "stdout" | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "Pv7z3zVvvDnj", | |
"colab_type": "code", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 85 | |
}, | |
"outputId": "6446d9bf-ec9d-42d2-ebcc-fd4da443a52b" | |
}, | |
"source": [ | |
"name_df_wide <- name_df %>%\n", | |
" pivot_wider(names_from = name_class, values_from = name_text) %>%\n", | |
" print()" | |
], | |
"execution_count": 55, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": [ | |
"\u001b[90m# A tibble: 1 x 2\u001b[39m\n", | |
" `first-name` `last-name`\n", | |
" \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \n", | |
"\u001b[90m1\u001b[39m Eric Blake \n" | |
], | |
"name": "stdout" | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "K12u7T3VxbkE", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"## Combine Name and Stats DF" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "7dvAULX5v_Ff", | |
"colab_type": "code", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 85 | |
}, | |
"outputId": "395dd432-a402-4ae1-9cb6-dd7b5abe44e7" | |
}, | |
"source": [ | |
"complete_df <- bind_cols(name_df_wide, stats_df) %>%\n", | |
" janitor::clean_names() %>%\n", | |
" print()" | |
], | |
"execution_count": 56, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": [ | |
"\u001b[90m# A tibble: 1 x 8\u001b[39m\n", | |
" first_name last_name height weight birth_date born school status\n", | |
" \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \n", | |
"\u001b[90m1\u001b[39m Eric Blake 6'2 190 lbs 1996-04-01 Hamilton, ON McMaster NAT \n" | |
], | |
"name": "stdout" | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "WbuuyPEwyP4j", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"# Generating List of URLs" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "3RzEeUYqypYI", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"## Paginated content with URL\n", | |
"\n", | |
"" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "FsNlRCPHyxCX", | |
"colab_type": "code", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 187 | |
}, | |
"outputId": "19e99163-29dc-4287-8254-9dc6a174cc43" | |
}, | |
"source": [ | |
"pages <- paste0(\"https://ftalphaville.ft.com/?page=\", 1:10) %>% \n", | |
" print()" | |
], | |
"execution_count": 58, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": [ | |
" [1] \"https://ftalphaville.ft.com/?page=1\" \n", | |
" [2] \"https://ftalphaville.ft.com/?page=2\" \n", | |
" [3] \"https://ftalphaville.ft.com/?page=3\" \n", | |
" [4] \"https://ftalphaville.ft.com/?page=4\" \n", | |
" [5] \"https://ftalphaville.ft.com/?page=5\" \n", | |
" [6] \"https://ftalphaville.ft.com/?page=6\" \n", | |
" [7] \"https://ftalphaville.ft.com/?page=7\" \n", | |
" [8] \"https://ftalphaville.ft.com/?page=8\" \n", | |
" [9] \"https://ftalphaville.ft.com/?page=9\" \n", | |
"[10] \"https://ftalphaville.ft.com/?page=10\"\n" | |
], | |
"name": "stdout" | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "2dVZQ7v5ziyU", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"## Paginated content with Link in same page\n", | |
"\n", | |
"" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "pt9MAkiV0cDU", | |
"colab_type": "code", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 629 | |
}, | |
"outputId": "25007de7-075f-403f-f1e4-ecccb7f66403" | |
}, | |
"source": [ | |
"players <- read_html(\"https://www.wespa.org/aardvark/html/rankings/full_rankings.html\")\n", | |
"\n", | |
"players %>% html_nodes(\"td:nth-child(2) , td:nth-child(3) , td:nth-child(1)\")\n", | |
"\n", | |
"players_df <- tibble(\n", | |
" rank = players %>% html_nodes(\"td:nth-child(1)\") %>% html_text(),\n", | |
" name = players %>% html_nodes(\"td:nth-child(2)\") %>% html_text(),\n", | |
" country = players %>% html_nodes(\"td:nth-child(3)\") %>% html_text(),\n", | |
" link = paste0(\n", | |
" \"https://www.wespa.org\",\n", | |
" players %>% html_nodes(\"td:nth-child(2) a\") %>% html_attr(\"href\")\n", | |
" )\n", | |
") %>% print()" | |
], | |
"execution_count": 59, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"{xml_nodeset (4653)}\n", | |
" [1] <td>1</td>\\n\n", | |
" [2] <td><a href=\"/aardvark/html/players/238.html\">Ganesh Asirvatham</a></td>\\n\n", | |
" [3] <td><a href=\"/aardvark/html/rankings/MYS.html\">Malaysia</a></td>\\n\n", | |
" [4] <td>2</td>\\n\n", | |
" [5] <td><a href=\"/aardvark/html/players/215.html\">Nigel Richards</a></td>\\n\n", | |
" [6] <td><a href=\"/aardvark/html/rankings/NZL.html\">New Zealand</a></td>\\n\n", | |
" [7] <td>3</td>\\n\n", | |
" [8] <td><a href=\"/aardvark/html/players/757.html\">David Eldar</a></td>\\n\n", | |
" [9] <td><a href=\"/aardvark/html/rankings/AUS.html\">Australia</a></td>\\n\n", | |
"[10] <td>4</td>\\n\n", | |
"[11] <td><a href=\"/aardvark/html/players/5.html\">Adam Logan</a></td>\\n\n", | |
"[12] <td><a href=\"/aardvark/html/rankings/CAN.html\">Canada</a></td>\\n\n", | |
"[13] <td>5</td>\\n\n", | |
"[14] <td><a href=\"/aardvark/html/players/1017.html\">Eta Karo</a></td>\\n\n", | |
"[15] <td><a href=\"/aardvark/html/rankings/NGA.html\">Nigeria</a></td>\\n\n", | |
"[16] <td>6</td>\\n\n", | |
"[17] <td><a href=\"/aardvark/html/players/476.html\">Panupol Sujjayakorn</a></t ...\n", | |
"[18] <td><a href=\"/aardvark/html/rankings/THA.html\">Thailand</a></td>\\n\n", | |
"[19] <td>7</td>\\n\n", | |
"[20] <td><a href=\"/aardvark/html/players/682.html\">Alastair Richards</a></td>\\n\n", | |
"..." | |
] | |
}, | |
"metadata": { | |
"tags": [] | |
} | |
}, | |
{ | |
"output_type": "stream", | |
"text": [ | |
"\u001b[90m# A tibble: 1,551 x 4\u001b[39m\n", | |
" rank name country link \n", | |
" \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \n", | |
"\u001b[90m 1\u001b[39m 1 Ganesh Asirvatham Malaysia https://www.wespa.org/aardvark/html/playe…\n", | |
"\u001b[90m 2\u001b[39m 2 Nigel Richards New Zeala… https://www.wespa.org/aardvark/html/playe…\n", | |
"\u001b[90m 3\u001b[39m 3 David Eldar Australia https://www.wespa.org/aardvark/html/playe…\n", | |
"\u001b[90m 4\u001b[39m 4 Adam Logan Canada https://www.wespa.org/aardvark/html/playe…\n", | |
"\u001b[90m 5\u001b[39m 5 Eta Karo Nigeria https://www.wespa.org/aardvark/html/playe…\n", | |
"\u001b[90m 6\u001b[39m 6 Panupol Sujjayak… Thailand https://www.wespa.org/aardvark/html/playe…\n", | |
"\u001b[90m 7\u001b[39m 7 Alastair Richards New Zeala… https://www.wespa.org/aardvark/html/playe…\n", | |
"\u001b[90m 8\u001b[39m 8 Wellington Jighe… Nigeria https://www.wespa.org/aardvark/html/playe…\n", | |
"\u001b[90m 9\u001b[39m 9 Brett Smitheram England https://www.wespa.org/aardvark/html/playe…\n", | |
"\u001b[90m10\u001b[39m 10 Opeyemi Oloro Nigeria https://www.wespa.org/aardvark/html/playe…\n", | |
"\u001b[90m# … with 1,541 more rows\u001b[39m\n" | |
], | |
"name": "stdout" | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "OLy3Qh1O04iI", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"# Recursively Scraping URLs" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "hQRZGxqJ03hW", | |
"colab_type": "code", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 629 | |
}, | |
"outputId": "2e1e666e-39b9-4898-ca51-58ebfb8c6ce8" | |
}, | |
"source": [ | |
"# custom scraping function\n", | |
"scrape <- function(url) {\n", | |
" message(c(\"Now scraping... \", url))\n", | |
" page <- read_html(url)\n", | |
" vars <- page %>%\n", | |
" html_nodes(\"div.col-md-12 > div:first-child b\") %>%\n", | |
" html_text(trim = T) %>%\n", | |
" enframe() %>%\n", | |
" mutate_all(list(~str_remove(., \":\"))) %>%\n", | |
" mutate_all(list(~str_squish(.))) %>%\n", | |
" select(-name, variables = value)\n", | |
" values <- page %>%\n", | |
" html_nodes(\"div.col-md-12 > div:first-child\") %>%\n", | |
" html_text(trim = T) %>%\n", | |
" str_split(\":\") %>%\n", | |
" unlist() %>%\n", | |
" enframe() %>%\n", | |
" filter(name !=\"1\") %>%\n", | |
" mutate_all(list(~str_remove(., \"([A-z]|300-| \\\\().*\"))) %>%\n", | |
" mutate_all(list(~str_trim(.))) %>%\n", | |
" select(-name, values = value)\n", | |
" new_cols <- bind_cols(vars, values)\n", | |
" Sys.sleep(5)\n", | |
" return(new_cols)\n", | |
"}\n", | |
"\n", | |
"players_df_bad_link <- players_df\n", | |
"players_df_bad_link[7,4] <- \"https://www.wespa.org/sdkjfslf4jf38fj3.html\"\n", | |
"\n", | |
"players_full_df <- players_df_bad_link %>%\n", | |
" slice(1:10) %>%\n", | |
" mutate(scraped_data = map(link, possibly(scrape, otherwise = NULL, quiet = F))) %>%\n", | |
" unnest(cols = scraped_data) %>%\n", | |
" print()" | |
], | |
"execution_count": 61, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": [ | |
"Now scraping... https://www.wespa.org/aardvark/html/players/238.html\n", | |
"\n", | |
"Now scraping... https://www.wespa.org/aardvark/html/players/215.html\n", | |
"\n", | |
"Now scraping... https://www.wespa.org/aardvark/html/players/757.html\n", | |
"\n", | |
"Now scraping... https://www.wespa.org/aardvark/html/players/5.html\n", | |
"\n", | |
"Now scraping... https://www.wespa.org/aardvark/html/players/1017.html\n", | |
"\n", | |
"Now scraping... https://www.wespa.org/aardvark/html/players/476.html\n", | |
"\n", | |
"Now scraping... https://www.wespa.org/sdkjfslf4jf38fj3.html\n", | |
"\n", | |
"Error: HTTP error 404.\n", | |
"\n", | |
"Now scraping... https://www.wespa.org/aardvark/html/players/1025.html\n", | |
"\n", | |
"Now scraping... https://www.wespa.org/aardvark/html/players/291.html\n", | |
"\n", | |
"Now scraping... https://www.wespa.org/aardvark/html/players/4309.html\n", | |
"\n" | |
], | |
"name": "stderr" | |
}, | |
{ | |
"output_type": "stream", | |
"text": [ | |
"\u001b[90m# A tibble: 153 x 6\u001b[39m\n", | |
" rank name country link variables values\n", | |
" \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \n", | |
"\u001b[90m 1\u001b[39m 1 Ganesh Asir… Malaysia https://www.wespa.org/aardva… Rating 2290 \n", | |
"\u001b[90m 2\u001b[39m 1 Ganesh Asir… Malaysia https://www.wespa.org/aardva… Games Played 637 \n", | |
"\u001b[90m 3\u001b[39m 1 Ganesh Asir… Malaysia https://www.wespa.org/aardva… Wins 450 \n", | |
"\u001b[90m 4\u001b[39m 1 Ganesh Asir… Malaysia https://www.wespa.org/aardva… Losses 185 \n", | |
"\u001b[90m 5\u001b[39m 1 Ganesh Asir… Malaysia https://www.wespa.org/aardva… Draws 1 \n", | |
"\u001b[90m 6\u001b[39m 1 Ganesh Asir… Malaysia https://www.wespa.org/aardva… Average Sco… 451.25\n", | |
"\u001b[90m 7\u001b[39m 1 Ganesh Asir… Malaysia https://www.wespa.org/aardva… Average Aga… 389.16\n", | |
"\u001b[90m 8\u001b[39m 1 Ganesh Asir… Malaysia https://www.wespa.org/aardva… 300- Games 6 \n", | |
"\u001b[90m 9\u001b[39m 1 Ganesh Asir… Malaysia https://www.wespa.org/aardva… 300 Games 161 \n", | |
"\u001b[90m10\u001b[39m 1 Ganesh Asir… Malaysia https://www.wespa.org/aardva… 400 Games 304 \n", | |
"\u001b[90m# … with 143 more rows\u001b[39m\n" | |
], | |
"name": "stdout" | |
} | |
] | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment