Created
December 26, 2019 22:01
-
-
Save snippsat/9766975d246510262eeee5659b58a8b9 to your computer and use it in GitHub Desktop.
This file contains 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
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 34, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"FIDE World Rapid Championship\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>Rank</th>\n", | |
" <th>Name</th>\n", | |
" <th>Score</th>\n", | |
" <th>Rating</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>1</td>\n", | |
" <td>Wang, Hao</td>\n", | |
" <td>4½/5</td>\n", | |
" <td>2748.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>2</td>\n", | |
" <td>Mamedyarov, Shakhriyar</td>\n", | |
" <td>4½/5</td>\n", | |
" <td>2752.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>3</td>\n", | |
" <td>Smirin, Ilia</td>\n", | |
" <td>4½/5</td>\n", | |
" <td>2584.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>4</td>\n", | |
" <td>Duda, Jan-Krzysztof</td>\n", | |
" <td>4½/5</td>\n", | |
" <td>2751.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>5</td>\n", | |
" <td>Dominguez Perez, Leinier</td>\n", | |
" <td>4½/5</td>\n", | |
" <td>2755.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>6</td>\n", | |
" <td>Carlsen, Magnus</td>\n", | |
" <td>4/5</td>\n", | |
" <td>2886.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>7</td>\n", | |
" <td>Guseinov, Gadir</td>\n", | |
" <td>4/5</td>\n", | |
" <td>2691.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>8</td>\n", | |
" <td>Le, Quang Liem</td>\n", | |
" <td>4/5</td>\n", | |
" <td>2740.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>9</td>\n", | |
" <td>Zubov, Alexander</td>\n", | |
" <td>4/5</td>\n", | |
" <td>2688.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>9</th>\n", | |
" <td>10</td>\n", | |
" <td>Dubov, Daniil</td>\n", | |
" <td>4/5</td>\n", | |
" <td>2752.0</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" Rank Name Score Rating\n", | |
"0 1 Wang, Hao 4½/5 2748.0\n", | |
"1 2 Mamedyarov, Shakhriyar 4½/5 2752.0\n", | |
"2 3 Smirin, Ilia 4½/5 2584.0\n", | |
"3 4 Duda, Jan-Krzysztof 4½/5 2751.0\n", | |
"4 5 Dominguez Perez, Leinier 4½/5 2755.0\n", | |
"5 6 Carlsen, Magnus 4/5 2886.0\n", | |
"6 7 Guseinov, Gadir 4/5 2691.0\n", | |
"7 8 Le, Quang Liem 4/5 2740.0\n", | |
"8 9 Zubov, Alexander 4/5 2688.0\n", | |
"9 10 Dubov, Daniil 4/5 2752.0" | |
] | |
}, | |
"execution_count": 34, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"from selenium import webdriver\n", | |
"from bs4 import BeautifulSoup\n", | |
"from selenium.webdriver.chrome.options import Options\n", | |
"from selenium.webdriver.common.keys import Keys\n", | |
"import pandas as pd\n", | |
"import time\n", | |
"\n", | |
"#--| Setup\n", | |
"options = Options()\n", | |
"#options.add_argument(\"--headless\")\n", | |
"browser = webdriver.Chrome(executable_path=r'chromedriver.exe', options=options)\n", | |
"\n", | |
"#--| Parse or automation\n", | |
"browser.get('https://chess24.com/en/watch/live-tournaments/world-rapid-championship-2019/4/1/5')\n", | |
"soup = BeautifulSoup(browser.page_source, 'lxml')\n", | |
"#browser.implicitly_wait(5)\n", | |
"time.sleep(4)\n", | |
"title = soup.select('h2.title')\n", | |
"print(title[0].text)\n", | |
"\n", | |
"# Get table\n", | |
"df = pd.read_html(browser.page_source, header=None)\n", | |
"standings = df[2]\n", | |
"standings.columns = [\"Rank\", \"Name\", \"Score\", \"Rating\"]\n", | |
"standings.head(10)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 53, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>Rank</th>\n", | |
" <th>Name</th>\n", | |
" <th>Score</th>\n", | |
" <th>Rating</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>6</td>\n", | |
" <td>Carlsen, Magnus</td>\n", | |
" <td>4/5</td>\n", | |
" <td>2886.0</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" Rank Name Score Rating\n", | |
"5 6 Carlsen, Magnus 4/5 2886.0" | |
] | |
}, | |
"execution_count": 53, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# We have a okay player in my country \n", | |
"standings.loc[[5]]" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.7.3" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 4 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment