diff --git a/DMP.pdf b/DMP.pdf new file mode 100644 index 0000000..2dc5a77 Binary files /dev/null and b/DMP.pdf differ diff --git a/README.md b/README.md index 8b38eeb..268a411 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,13 @@ -# Cultural Analytics: An Open Science Guide - -This is a textbook to learn how to analyze cultural phenomena using computational methods. - -It follows the principles of Open Science to teach you how to conduct research that is ethical, methodologically solid, and accessible. Topics covered include: -- theory development -- data management -- data collection -- data analysis -- data visualization. - -We believe that none of these aspects should be disregarded in a cultural analytics project that aims at being truly Open. - -The programming language used is Python (code in R will be published later). -There are discursive sections and interactive Jupyter Notebooks to let you learn-by-doing. - ---- - -Inspiration for this guide come from the following sources: -- [The Turing Way](https://the-turing-way.netlify.app/welcome.html) handbook to reproducible, ethical and collaborative data science, initiated by The Alan Turing Institute -- [Introduction to Cultural Analytics & Python](https://melaniewalsh.github.io/Intro-Cultural-Analytics/welcome.html) by Melanie Walsh +# SGG + +Steam Game Genre + + +Data of this project comes from Steam official website - https://store.steampowered.com/charts. + +The data scraped from this project can also be used to analysis questions like user preferences based on regions, platform preferences of Top 100 games and so on. + + +Contributors to this project: + +BAI, Haozhe, S5171326 JIANG, Yingyue, S5202256 LIU, Ruohan, S5085462 WAN, Spring, S5343224 ZHAO, Yuanjie, S3581063 diff --git a/SGG-main.zip b/SGG-main.zip new file mode 100644 index 0000000..7a5db57 Binary files /dev/null and b/SGG-main.zip differ diff --git a/SGG_Notebook without key.ipynb b/SGG_Notebook without key.ipynb new file mode 100644 index 0000000..44f168e --- /dev/null +++ b/SGG_Notebook without key.ipynb @@ -0,0 +1,1119 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "509a2918", + "metadata": {}, + "source": [ + "## 0. Introduction" + ] + }, + { + "cell_type": "markdown", + "id": "289c3303", + "metadata": {}, + "source": [ + "Since its debut in 2003, Steam, a sizable digital distribution service for video games, has drawn a lot of attention. It is currently the largest digital distribution platform for computer games worldwide. The Steam platform held approximately 75% of the market share in 2013. In 2019, Steam saw over 34,000 games on Steam's shelves and over 95 million monthly active users, while Steam is available in all major global gaming markets. As such, the data on the platform regarding video games is very representative. We believe it provides a more representative picture of the changing trends in video game themes and genres over the past 10 years. \n", + "\n", + "![juypter](https://upload.wikimedia.org/wikipedia/commons/c/c1/Steam_2016_logo_black.svg)\n", + "\n", + "We take the \"weekly charts\" stats from Steam store `https://store.steampowered.com/charts` as the source of data.\n", + "\n", + "The goal of the project is to collect, collate, analyse and visualise Steam game data to produce a report on global trends in Steam games, which will include the most popular categories of games by country and region, etc.\n" + ] + }, + { + "cell_type": "markdown", + "id": "326217c5", + "metadata": {}, + "source": [ + "### This project is divided into three parts." + ] + }, + { + "cell_type": "markdown", + "id": "56343311", + "metadata": {}, + "source": [ + "**Part 1:** set up and an introduction to other background projects.\n", + "\n", + "**Part 2:** A tutorial on crawling and cleaning data. this part will introduce scraping methods for dynamic web information and introduce the functionality of the basic selenium library.\n", + "\n", + "**Part 3:** Active learning practice. This part will contain 4 questions related to the previous content and you will need to complete the questions based on the content in the tutorial." + ] + }, + { + "cell_type": "markdown", + "id": "5381aca8", + "metadata": {}, + "source": [ + "### Contributor Roles" + ] + }, + { + "cell_type": "markdown", + "id": "b200c8d5", + "metadata": {}, + "source": [ + "https://credit.niso.org/contributor-roles-defined/" + ] + }, + { + "cell_type": "markdown", + "id": "492fd40e", + "metadata": {}, + "source": [ + "**Conceptualization:** `BAI, Haozhe`/`JIANG, Yingyue`/`LIU, Ruohan`/`WAN, Spring`/`ZHAO, Yuanjie`\n", + "\n", + "**Data curation:** `BAI, Haozhe`/`JIANG, Yingyue`/`LIU, Ruohan`/`WAN, Spring`/`ZHAO, Yuanjie`\n", + "\n", + "**Formal analysis:** `BAI, Haozhe`/`JIANG, Yingyue`/`LIU, Ruohan`/`ZHAO, Yuanjie`\n", + "\n", + "**Software:** `BAI, Haozhe`/`ZHAO, Yuanjie`\n", + "\n", + "**Validation:** `ZHAO, Yuanjie`\n", + "\n", + "**Visualization:** `WAN, Spring`\n", + "\n", + "**Writing – original draft:** `BAI, Haozhe`/`WAN, Spring`/`ZHAO, Yuanjie`\n", + "\n", + "**Writing – review & editing:** `BAI, Haozhe`/`JIANG, Yingyue`/`LIU, Ruohan`/`WAN, Spring`/`ZHAO, Yuanjie`\n" + ] + }, + { + "cell_type": "markdown", + "id": "4b24a0a0", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "6b25bf2d", + "metadata": {}, + "source": [ + "## I. Preparation" + ] + }, + { + "cell_type": "markdown", + "id": "f7354565", + "metadata": {}, + "source": [ + "`Selenium` is an open source python library for automated testing to validate web applications across different browsers and platforms.\n", + "\n", + "For installing and documentation, please refer to `https://selenium-python.readthedocs.io/index.html`" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "ffffea6a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting selenium==4.7.2\n", + " Using cached selenium-4.7.2-py3-none-any.whl (6.3 MB)\n", + "Requirement already satisfied: urllib3[socks]~=1.26 in /Users/elsiana/opt/anaconda3/lib/python3.9/site-packages (from selenium==4.7.2) (1.26.9)\n", + "Collecting trio-websocket~=0.9\n", + " Using cached trio_websocket-0.9.2-py3-none-any.whl (16 kB)\n", + "Collecting trio~=0.17\n", + " Using cached trio-0.22.0-py3-none-any.whl (384 kB)\n", + "Requirement already satisfied: certifi>=2021.10.8 in /Users/elsiana/opt/anaconda3/lib/python3.9/site-packages (from selenium==4.7.2) (2021.10.8)\n", + "Collecting outcome\n", + " Using cached outcome-1.2.0-py2.py3-none-any.whl (9.7 kB)\n", + "Collecting exceptiongroup>=1.0.0rc9\n", + " Using cached exceptiongroup-1.1.0-py3-none-any.whl (14 kB)\n", + "Requirement already satisfied: attrs>=19.2.0 in /Users/elsiana/opt/anaconda3/lib/python3.9/site-packages (from trio~=0.17->selenium==4.7.2) (21.4.0)\n", + "Collecting async-generator>=1.9\n", + " Using cached async_generator-1.10-py3-none-any.whl (18 kB)\n", + "Requirement already satisfied: sniffio in /Users/elsiana/opt/anaconda3/lib/python3.9/site-packages (from trio~=0.17->selenium==4.7.2) (1.2.0)\n", + "Requirement already satisfied: idna in /Users/elsiana/opt/anaconda3/lib/python3.9/site-packages (from trio~=0.17->selenium==4.7.2) (3.3)\n", + "Requirement already satisfied: sortedcontainers in /Users/elsiana/opt/anaconda3/lib/python3.9/site-packages (from trio~=0.17->selenium==4.7.2) (2.4.0)\n", + "Collecting wsproto>=0.14\n", + " Using cached wsproto-1.2.0-py3-none-any.whl (24 kB)\n", + "Requirement already satisfied: PySocks!=1.5.7,<2.0,>=1.5.6 in /Users/elsiana/opt/anaconda3/lib/python3.9/site-packages (from urllib3[socks]~=1.26->selenium==4.7.2) (1.7.1)\n", + "Collecting h11<1,>=0.9.0\n", + " Using cached h11-0.14.0-py3-none-any.whl (58 kB)\n", + "Installing collected packages: outcome, h11, exceptiongroup, async-generator, wsproto, trio, trio-websocket, selenium\n", + " Attempting uninstall: selenium\n", + " Found existing installation: selenium 3.3.1\n", + " Uninstalling selenium-3.3.1:\n", + " Successfully uninstalled selenium-3.3.1\n", + "Successfully installed async-generator-1.10 exceptiongroup-1.1.0 h11-0.14.0 outcome-1.2.0 selenium-4.7.2 trio-0.22.0 trio-websocket-0.9.2 wsproto-1.2.0\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "pip install selenium==4.7.2" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "4a65133d", + "metadata": {}, + "outputs": [], + "source": [ + "import requests\n", + "from bs4 import BeautifulSoup\n", + "from selenium import webdriver\n", + "from selenium.webdriver.chrome.service import Service\n", + "from selenium.webdriver.common.by import By\n", + "from selenium.webdriver.support.ui import WebDriverWait\n", + "from selenium.webdriver.support import expected_conditions as EC\n", + "import time\n", + "import json\n", + "import pandas as pd\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "import os\n", + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "id": "61a905fe", + "metadata": {}, + "source": [ + "## II. Webdriver Installation" + ] + }, + { + "cell_type": "markdown", + "id": "9f4f491f", + "metadata": {}, + "source": [ + "follow the setup instruction\n", + "\n", + "`https://sites.google.com/chromium.org/driver/getting-started`" + ] + }, + { + "cell_type": "markdown", + "id": "2ad81d0b", + "metadata": {}, + "source": [ + "#### Here, we take Google Chrome browser as an example." + ] + }, + { + "cell_type": "markdown", + "id": "28854e41", + "metadata": {}, + "source": [ + "First, go to top right corner of your browser, click the `three dots`; \n", + "\n", + "Then, select `Help` and then `About Google Chrome`;\n", + "\n", + "Check your `browser version` and download the corresponding driver from `https://sites.google.com/chromium.org/driver/downloads`\n", + "\n", + "(in terms of drivers for other browers, please see `https://selenium-python.readthedocs.io/installation.html#drivers)`" + ] + }, + { + "cell_type": "markdown", + "id": "49e8e805", + "metadata": {}, + "source": [ + "After downloading the driver, unzip it and move it to the folder you like" + ] + }, + { + "attachments": { + "%E6%88%AA%E5%B1%8F2023-01-02%2017.30.55.png": { + "image/png": "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" + } + }, + "cell_type": "markdown", + "id": "4b77ea2d", + "metadata": {}, + "source": [ + "![%E6%88%AA%E5%B1%8F2023-01-02%2017.30.55.png](attachment:%E6%88%AA%E5%B1%8F2023-01-02%2017.30.55.png)" + ] + }, + { + "cell_type": "markdown", + "id": "def89247", + "metadata": {}, + "source": [ + "Then double click the `chromrdriver` file, wait until it shows \n", + "\n", + "`ChromeDriver was started successfully.`\n", + "\n", + "Now, you can copy the file path of the driver as a parameter used following function.\n" + ] + }, + { + "cell_type": "markdown", + "id": "1af9a6d8", + "metadata": {}, + "source": [ + "#### Keyboard Shortcut for copying file path: \n", + " ##### - windows: \n", + " \n", + " Press `Shift` + `Right Click` and simply click on `Copy as path`. OR \n", + " \n", + " Press `ALT` + `D`, the path will appear, highlighted. `Right click` over the highlighted text and select copy.\n", + " \n", + " ##### - mac:\n", + " \n", + " Press `command` + `option` + `c`." + ] + }, + { + "cell_type": "markdown", + "id": "f44981ba", + "metadata": {}, + "source": [ + "## III. Related Project" + ] + }, + { + "cell_type": "markdown", + "id": "ffdb792c", + "metadata": {}, + "source": [ + "We have also found another project in regards to steam data scraping using `API`. \n", + "\n", + "If you are interested in API, you may also have a look at this project:\n", + "\n", + "`https://nik-davis.github.io/posts/2019/steam-data-collection/`" + ] + }, + { + "cell_type": "markdown", + "id": "74abc253", + "metadata": {}, + "source": [ + "## IV. API attempt" + ] + }, + { + "cell_type": "markdown", + "id": "1c949a13", + "metadata": {}, + "source": [ + "To begin with, we would like to use the method used in abovementioned projects in terms of gathering Steam game item data by using API provided by another website called `SteamSpy` `(https://steamspy.com/)`. \n", + "\n", + "However, SteamSpy can provide a lot of useful information, but the data does match our expectation. Therefore, we ultimately used another way, but we would still like to share our attempt to scrape data via API.\n", + "\n", + "For detail information about SteamSpy API, please refer to `https://steamspy.com/api.php`." + ] + }, + { + "cell_type": "code", + "execution_count": 117, + "id": "a905e23d", + "metadata": {}, + "outputs": [], + "source": [ + "url_test = 'https://steamspy.com/api.php'\n", + "parameters = {\"request\": \"top100in2weeks\"} # more parameters can be found on https://steamspy.com/api.php.\n", + "response = requests.get(url=url_test, params=parameters)\n", + "json_data = response.json()\n", + "df = pd.DataFrame.from_dict(json_data, orient='index')\n", + "app_list = df.reset_index(drop=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 118, + "id": "6d814d7e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
appidnamedeveloperpublisherscore_rankpositivenegativeuserscoreownersaverage_foreveraverage_2weeksmedian_forevermedian_2weekspriceinitialpricediscountccu
0570Dota 2ValveValve15867763301920200,000,000 .. 500,000,0004044715609761084000581998
1730Counter-Strike: Global OffensiveValve, Hidden Path EntertainmentValve6082011800798050,000,000 .. 100,000,0002960877163812710001063175
2578080PUBG: BATTLEGROUNDSKRAFTON, Inc.KRAFTON, Inc.1213688917683050,000,000 .. 100,000,000228566486688189000343480
31063730New WorldAmazon GamesAmazon Games17449175525050,000,000 .. 100,000,000825714543567131139993999035651
41172470Apex LegendsRespawn EntertainmentElectronic Arts48327892741050,000,000 .. 100,000,0006705746605362000336459
\n", + "
" + ], + "text/plain": [ + " appid name \\\n", + "0 570 Dota 2 \n", + "1 730 Counter-Strike: Global Offensive \n", + "2 578080 PUBG: BATTLEGROUNDS \n", + "3 1063730 New World \n", + "4 1172470 Apex Legends \n", + "\n", + " developer publisher score_rank positive \\\n", + "0 Valve Valve 1586776 \n", + "1 Valve, Hidden Path Entertainment Valve 6082011 \n", + "2 KRAFTON, Inc. KRAFTON, Inc. 1213688 \n", + "3 Amazon Games Amazon Games 174491 \n", + "4 Respawn Entertainment Electronic Arts 483278 \n", + "\n", + " negative userscore owners average_forever \\\n", + "0 330192 0 200,000,000 .. 500,000,000 40447 \n", + "1 800798 0 50,000,000 .. 100,000,000 29608 \n", + "2 917683 0 50,000,000 .. 100,000,000 22856 \n", + "3 75525 0 50,000,000 .. 100,000,000 8257 \n", + "4 92741 0 50,000,000 .. 100,000,000 6705 \n", + "\n", + " average_2weeks median_forever median_2weeks price initialprice discount \\\n", + "0 1560 976 1084 0 0 0 \n", + "1 771 6381 271 0 0 0 \n", + "2 648 6688 189 0 0 0 \n", + "3 1454 3567 1311 3999 3999 0 \n", + "4 746 605 362 0 0 0 \n", + "\n", + " ccu \n", + "0 581998 \n", + "1 1063175 \n", + "2 343480 \n", + "3 35651 \n", + "4 336459 " + ] + }, + "execution_count": 118, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "app_list.head()" + ] + }, + { + "cell_type": "markdown", + "id": "a4d9170e", + "metadata": {}, + "source": [ + "## V. Steam data scraping" + ] + }, + { + "cell_type": "markdown", + "id": "5946fb18", + "metadata": {}, + "source": [ + "### Get urls" + ] + }, + { + "cell_type": "markdown", + "id": "60ed8996", + "metadata": {}, + "source": [ + "Since the Steam leaderboard section is a `dynamically updated web page`, we use the selenium library in python to simulate access to the web page and thus obtain the leaderboard section" + ] + }, + { + "cell_type": "markdown", + "id": "2054664e", + "metadata": {}, + "source": [ + "We found that Steam's leaderboard requires a click on the `See all 100` button at the bottom in order to load to show all the top 100 games. We therefore used `find_element_by_xpath()` to locate the button element and used `click()` to complete the automatic click." + ] + }, + { + "cell_type": "markdown", + "id": "af8d2ec9", + "metadata": {}, + "source": [ + "Since the code performs the click before the page is loaded, the above approach does not work. We therefore chose to use Selenium's `explicit wait` to wait for the page to finish loading before performing the click" + ] + }, + { + "cell_type": "code", + "execution_count": 119, + "id": "1d2d6140", + "metadata": {}, + "outputs": [], + "source": [ + "def get_links (url, chromedriver_path): # chromedriver_path is the location of your chromedriver file \n", + " s = Service(chromedriver_path)\n", + " driver = webdriver.Chrome(service=s) \n", + " driver.get(url)\n", + " element = WebDriverWait(driver, 10).until(\n", + " EC.presence_of_element_located((By.XPATH, \"//*[@id='application_root']/div/div/div/div/div[4]/div/button\"))\n", + " )\n", + " element.click()\n", + " \n", + " time.sleep(10)\n", + " html = driver.page_source\n", + " soup = BeautifulSoup(html, \"html.parser\")\n", + "\n", + " data = soup.find_all('tr',{'class':'weeklytopsellers_TableRow_2-RN6'})\n", + "\n", + " top_100 = []\n", + " for d in data:\n", + " link = d.find('a', {'class':'weeklytopsellers_TopChartItem_2C5PJ'})\n", + " top_100.append(link['href'])\n", + "\n", + " return top_100" + ] + }, + { + "cell_type": "markdown", + "id": "1ee8c45a", + "metadata": {}, + "source": [ + "### Get Game detail" + ] + }, + { + "cell_type": "markdown", + "id": "6744379a", + "metadata": {}, + "source": [ + " We plan to get `game title`, `genre`, `developer`, `publisher`, `release data`, `review scores`, `votes`, `user defined tags`, `platform supported` and if the game is `VR supported`." + ] + }, + { + "cell_type": "code", + "execution_count": 120, + "id": "fc1eb3fb", + "metadata": {}, + "outputs": [], + "source": [ + "def get_details (urls):\n", + " detail_list = []\n", + " for url in urls:\n", + " response = requests.get(url)\n", + " soup = BeautifulSoup(response.text, 'html.parser')\n", + " \n", + "# get game title \n", + " try:\n", + " game_title = soup.find('div', {'class':'details_block'}).b.next_sibling.strip()\n", + " except:\n", + " game_title = ''\n", + "\n", + "# get game genre \n", + " try:\n", + " list1 = soup.find('div', {'id':'genresAndManufacturer', 'class':'details_block'}).text.split('Genre: ')\n", + " genre = list1[1].split('\\n\\n')[0]\n", + " except:\n", + " genre = ''\n", + "\n", + "# get game developer \n", + " try:\n", + " list2 = soup.find('div', {'id':'genresAndManufacturer', 'class':'details_block'}).text.split('Developer:\\n')\n", + " developer = dev = list2[1].split('\\n\\n\\n')[0]\n", + " except:\n", + " developer = ''\n", + "\n", + "# get publisher\n", + " try:\n", + " publisher = soup.find('div', {'id':'genresAndManufacturer', 'class':'details_block'}).text.split('\\n')[9]\n", + " except:\n", + " publisher = ''\n", + " \n", + "# get release date\n", + " try:\n", + " release_date = soup.find('div', {'id':'genresAndManufacturer', 'class':'details_block'}).text.split('Release Date:')[1].replace('\\n', '').strip()\n", + " except:\n", + " release_date = ''\n", + " \n", + " \n", + "# get all reviews\n", + " try:\n", + " all_reviews = soup.find('span', {'itemprop':'description'}).text\n", + " except:\n", + " all_reviews = ''\n", + " \n", + "# get all votes\n", + " try:\n", + " all_votes = soup.find('span', {'class':'responsive_hidden'}).text.replace('\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(', '').replace(')\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t', '')\n", + " except:\n", + " all_votes = ''\n", + " \n", + " \n", + "# get user defined tags \n", + " try:\n", + " info2 = soup.find('div', {'data-panel':'{\"flow-children\":\"row\"}', 'class':'glance_tags popular_tags'})\n", + " tag_list = info2.find_all('a')\n", + " tags = []\n", + " for t in tag_list:\n", + " text = t.text.replace('\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t', '')\n", + " tags.append(text.replace('\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t', ''))\n", + " tags = tags[0:5]\n", + " user_defined_tags = ', '.join(tags)\n", + " except:\n", + " user_defined_tags = ''\n", + " \n", + "# platform and vr supported\n", + " try:\n", + " win_list = soup.find_all('span', {'class':'platform_img win'})\n", + " win = ''\n", + " if win_list:\n", + " win = 'Yes'\n", + " else:\n", + " win = 'No'\n", + "\n", + " mac_list = soup.find_all('span', {'class':'platform_img mac'})\n", + " mac = ''\n", + " if mac_list:\n", + " mac = 'Yes'\n", + " else:\n", + " mac = 'No'\n", + "\n", + " linux_list = soup.find_all('span', {'class':'platform_img linux'})\n", + " linux = ''\n", + " if linux_list:\n", + " linux = 'Yes'\n", + " else:\n", + " linux = 'No'\n", + "\n", + " vr_list = soup.find_all('span', {'class':'vr_supported'})\n", + " vr = ''\n", + " if vr_list:\n", + " vr = 'Yes'\n", + " else:\n", + " vr = 'No'\n", + " except:\n", + " win = ''\n", + " mac = ''\n", + " linux = ''\n", + " vr = ''\n", + " \n", + "# get list\n", + " detail = [game_title, genre, developer, publisher, release_date, all_reviews, all_votes, user_defined_tags, win, mac, linux, vr]\n", + " detail_list.append(detail)\n", + "\n", + " return detail_list" + ] + }, + { + "cell_type": "markdown", + "id": "b451f9e0", + "metadata": {}, + "source": [ + "### Get csv file" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "347d2402", + "metadata": {}, + "outputs": [], + "source": [ + "def get_steam_csv (urls, filename):\n", + " df = pd.DataFrame(get_details (urls))\n", + " df.columns = ['Game_Title', 'Genre', 'Developer','Publisher', 'Release_Date', 'All_Reviews', \n", + " 'All_Votes', 'User_Defined_Tags', 'Win', 'Mac', 'Linux', 'VR_Supported']\n", + " return df.to_csv(filename, encoding='utf-8')" + ] + }, + { + "cell_type": "markdown", + "id": "dd08ceea", + "metadata": {}, + "source": [ + "### Data Cleaning" + ] + }, + { + "cell_type": "markdown", + "id": "714e616a", + "metadata": {}, + "source": [ + "After observing the exported files, we have found that due to website structure and some other reasons, there are some empty rows in the file. Meanwhile, some release dates are attached with `Early Access`. All these will cause troubles during data describing the process. Therefore, a data-cleaning process is necessary. " + ] + }, + { + "cell_type": "code", + "execution_count": 122, + "id": "44a91568", + "metadata": {}, + "outputs": [], + "source": [ + "def data_clean(csv_path):\n", + " df = pd.read_csv(csv_path, encoding = 'utf-8').dropna().drop(columns=['Unnamed: 0'])\n", + " df['Release_Date'] = df['Release_Date'].replace('Early Access', '', regex=True)\n", + " return df" + ] + }, + { + "cell_type": "markdown", + "id": "317eaafa", + "metadata": {}, + "source": [ + "### Get labels" + ] + }, + { + "cell_type": "markdown", + "id": "c21a8f8b", + "metadata": {}, + "source": [ + "In columns such as `Genre` and `Use_Defined_Tages` there are two or more labels, therefore in this step we need to split these cells to generate a new Dataframe to assist in the subsequent part of the description of the data.\n", + "\n", + "In later practice we find that there could be spaces before and after some data, which could affect subsequent analysis and calculations, so we remove the spaces here in the output of the labels." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "f137eb1e", + "metadata": {}, + "outputs": [], + "source": [ + "def get_labels(df, column):\n", + " labels = df[column].str.split(',', expand=True)\n", + " return labels.apply(lambda x: x.str.strip() if x.dtype == \"object\" else x)" + ] + }, + { + "cell_type": "markdown", + "id": "26f9ffd5", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "ba29b4ad", + "metadata": {}, + "source": [ + "## VI. Visualisation" + ] + }, + { + "cell_type": "markdown", + "id": "7dc9d55a", + "metadata": {}, + "source": [ + "Here we take Global, China, Japan and the Netherlands as an example." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "d37f97bf", + "metadata": {}, + "outputs": [], + "source": [ + "folder_path = 'data/'\n", + "csv_files = [file for file in os.listdir('data/') if file.endswith('.csv')]\n", + "\n", + "# You may change the files to the ones you would like to compare. \n", + "csv_files = [file for file in csv_files if file in [\"Steam_Games_Top100_CN_w_c_20Dec.csv\", \n", + " \"Steam_Games_Top100_GL_w_c_20Dec.csv\", \n", + " \"Steam_Games_Top100_JP_w_c_20Dec.csv\", \n", + " \"Steam_Games_Top100_NL_w_c_20Dec.csv\"]]\n", + "\n", + "dataframes = []\n", + "for file in csv_files:\n", + " file_path = os.path.join(folder_path, file)\n", + " df = pd.read_csv(file_path)\n", + " dataframes.append(df)\n", + "\n", + "df=pd.concat(dataframes)\n", + "df=df[[\"Game_Title\",\"Genre\"]]\n", + "d1={}\n", + "all_types=[]\n", + "for index, row in df.iterrows():\n", + " if(row[\"Genre\"]==row[\"Genre\"]):\n", + " name=row[\"Game_Title\"]\n", + " x=row[\"Genre\"]\n", + " x2=x.split(\",\")\n", + " x3=[data.strip(\" \") for data in x2]\n", + " d1[name]=x3\n", + " all_types.extend(x3)\n", + "all_types=[type for type in set(all_types)]\n", + "\n", + "\n", + "ds=[]\n", + "d_last={}\n", + "for df in dataframes:\n", + " d={}\n", + " for str in df[\"Genre\"]:\n", + " for type in all_types:\n", + " if(str==str):\n", + " if(type in str):\n", + " if(type in d.keys()):\n", + " d[type]+=1\n", + " else:\n", + " d[type]=1\n", + " ds.append(d)\n", + "l=[]\n", + "for type in all_types:\n", + " l2=[]\n", + "\n", + " for d in ds:\n", + " if(type in d.keys()):\n", + " l2.append(d[type])\n", + " else:\n", + " l2.append(0)\n", + " l.append(l2)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "f7b12b0a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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BM2iOvseS1qCRbOksUjyD1m8ZfMSb31nm63p8if5h+5Hj0+azWmmyvmRvrPNVpbc8nv07RvL4XNP97t4E81Uhxe2863Hnm++/I5JKyOnZ0iSJEkd5mykOcnWSc4aebs6ycuTrJ/khCS/bN+v1/3ZJEmSpP6MZaS5bdv0e5pV4gcCf6qqdyQ5CFivqv5tzkNIkiRJS2lcRfNewBurarckPwceWlWXJrkb8L2q2nqmx2+44Ya1aNGiOc8pSZKkldvpp5/+x6paOPn4uLbRfjpN/01odvK6FJrm/Gk3U5jJokWLOO200+YynyRJkkSSi6c6PufdM9LsOvZ4lmy8PpvH7Z/ktCSnXXHFFXMTTpIkSZqFcbScexRwRlVd1t6+rJ2WQfv+8qkeVFUfrapdqmqXhQtvM0IuSZIkjc04iuZ9WTw1A5otZPdrP94POGYMGSRJkqSlNqdzmpPcEXgE8KKRw+8AjkryfOC3wFOX5nPfeOONXHLJJdxwww3LHnQFt2DBAjbZZBNWX331vqNIkiTNS3NaNFfV9cAGk45dCey5rJ/7kksuYZ111mHRokUkWdZPt8KqKq688kouueQSNt98877jSJIkzUvzdhvtG264gQ022MCCuUMSNthgA0fkJUmSlsG8LZoBC+ZZ8vskSZK0bOZ10dy3P/zhDzz96U9nyy23ZLvttuPRj340v/jFL0jCIYcccuv9XvziF/PpT3+6v6CSJElaJuPa3GTOLTrouOX6+S56x2NmPF9VPPGJT2S//fbj85//PABnnXUWl112GXe5y134wAc+wIte9CLWWGON5ZpLkiRJ4+dI81L67ne/y+qrr84BBxxw67GddtqJe9zjHixcuJA999yTQw89tMeEkiRJWl4smpfSueeey8477zzt+YMOOoj3vOc93HzzzWNMJUmSpLlg0TxHNt98c+5///tz+OGH9x1FkiRJy8iieSltv/32nH766TPe53Wvex3vfOc7ueWWW8aUSpIkSXPBonkp7bHHHvztb3/jYx/72K3HTj31VC6++OJbb2+zzTZst912fO1rX+sjoiRJkpYTi+allISjjz6aE044gS233JLtt9+egw8+mLvf/e5L3O/1r389l1xySU8pJUmStDysMC3nulrEzYW73/3uHHXUUbc5fu6559768Y477uj0DEmSpHnOkWZJkiSpg0WzJEmS1MGiWZIkSeqwwsxpliRJ0hgdfKeO81eNJ8eYONIsSZIkdbBoliRJkjpYNC+Dyy67jGc84xlsscUW7LzzzjzoQQ/i6KOP5nvf+x6Pfexjb3P/8847jz322IN73etebLXVVrzlLW+hqgD49Kc/zcKFC9lpp53YfvvtecpTnsL111+/xON33HFH9t133yWOPfe5z+WLX/zi3P0jJUmStALNae6aV3O7P9/M83Cqir333pv99tuPww8/HICLL76YY489lvXWW+829//rX//K4x//eD784Q+z1157cf311/PkJz+Z//7v/+bAAw8EYJ999uGDH/wgAM94xjM48sgjed7zngfA+eefzy233MLJJ5/Mddddx1prrbU8/7WSJEmagSPNS+k73/kOa6yxBgcccMCtxzbbbDNe8pKXTHn/ww8/nN1224299toLgDve8Y588IMf5B3veMdt7nvTTTdx3XXXLVF8H3744Tz72c9mr7324thjj13O/xpJkiTNxKJ5KZ133nnc7373u13333nnnZc4tuWWW3Lttddy9dVXA3DkkUey0047sfHGG/OnP/2Jxz3ucbfe98gjj2SfffZh33335Ygjjlg+/whJkiTNikXzcnLggQey4447suuuu055vqpIMuW5ieP77LMPZ511Fn/4wx/YYYcdeNe73gXAqaeeysKFC9lss83Yc889OeOMM/jzn/88N/8QSZIk3YZF81LafvvtOeOMM269/aEPfYgTTzyRK664Ytr7n3baaUscu/DCC1l77bVZZ511ljiehMc97nGcfPLJABxxxBFccMEFLFq0iC233JKrr76aL33pS8v5XyRJkqTpWDQvpT322IMbbriBD3/4w7cem9ztYtQzn/lMTjnlFL797W8DzcLAl770pbzmNa+Z8v6nnHIKW265Jbfccgtf+MIXOPvss7nooou46KKLOOaYY5yiIUmSNEYWzUspCV/5ylc46aST2Hzzzbn//e/Pfvvtxzvf+U4ATjzxRDbZZJNb38466yyOOeYY3vrWt7L11luzww47sOuuu/LiF7/41s85Maf5Pve5D2eeeSb//u//zsknn8zGG2/MxhtvfOv9HvKQh/Czn/2MSy+9FIAXvehFt36dBz3oQeP9RkiSJK0EMtEneMh22WWXmjy14fzzz2fbbbftKdH84/dLkiQtVyvoNtpJTq+qXSYfX3H6NEuS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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "x = np.arange(len(all_types))\n", + "l2=[[],[],[],[]]\n", + "for data in l:\n", + " for i in range(0,4):\n", + " l2[i].append(data[i])\n", + "ys=l2\n", + "bar_width = 0.2\n", + "tick_label=all_types\n", + "labels=[\"CN\",\"GLOBAL\",\"JP\",\"NL\"]\n", + "plt.figure(figsize=(12,8))\n", + "for i,y in enumerate(ys):\n", + " plt.bar(x+i*bar_width, y, bar_width,label=labels[i])\n", + " \n", + "tick_label=all_types\n", + "plt.ylabel('Count')\n", + "plt.xlabel('Genre')\n", + "plt.title('Steam_Games_Genre_Top100_CN_JP_NL_GL')\n", + "plt.xticks(x, tick_label)\n", + "plt.xticks(rotation=90)\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "3fd3bfe9", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "1e3e46b7", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "9d0d0657", + "metadata": {}, + "source": [ + "## VII. Active Learning" + ] + }, + { + "cell_type": "markdown", + "id": "cf44c952", + "metadata": {}, + "source": [ + "### Given by the the tables of ranking of Top 100 games on steam platform , you are expected to find a way to analyze our charts and discover some visible trends." + ] + }, + { + "cell_type": "markdown", + "id": "30b83094", + "metadata": {}, + "source": [ + "Note that you might apply the `function` you have previously learned. \n", + "\n", + "A Grand Data Projects is not necessarily, still you can make more elaborate charts by checking out more information for helpful optional parameters via these websites below.\n", + "\n", + "`https://steamdb.info/`\n", + "\n", + "`https://steamdb.info/faq/#how-are-we-getting-this-information`" + ] + }, + { + "cell_type": "markdown", + "id": "1e94e6a6", + "metadata": {}, + "source": [ + "#### 1.Try to identify the most popular game genres and tags in the South Korea of last week (depending on your current date) and analyse what you think are the main reasons for this trend based on the data of the Netherlands region on steam." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2d25e818", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8d579d0f", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "98bec15b", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "c2cbc10c", + "metadata": {}, + "source": [ + "#### 2. How much does the popularity of a game correlate with its release date, and do newer games tend to be more popular?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ee4de5d7", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "37801527", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "d64c2010", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "6e9188ec", + "metadata": {}, + "source": [ + "#### 3. How similar is the US ranking chart for the popularity of games on the Steam platform to the global ranking chart?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1d5f82d2", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6ee8716d", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "0aca8c34", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "74e808db", + "metadata": {}, + "source": [ + "#### 4. What are the differences in the popular game genres on steam platform between China and Japan, which are also Asian countries?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "60c3cb6c", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d599edef", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/SGG_Notebook.ipynb b/SGG_Notebook.ipynb new file mode 100644 index 0000000..e031233 --- /dev/null +++ b/SGG_Notebook.ipynb @@ -0,0 +1,3228 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "509a2918", + "metadata": {}, + "source": [ + "## 0. Introduction" + ] + }, + { + "cell_type": "markdown", + "id": "289c3303", + "metadata": {}, + "source": [ + "Since its debut in 2003, Steam, a sizable digital distribution service for video games, has drawn a lot of attention. It is currently the largest digital distribution platform for computer games worldwide. The Steam platform held approximately 75% of the market share in 2013. In 2019, Steam saw over 34,000 games on Steam's shelves and over 95 million monthly active users, while Steam is available in all major global gaming markets. As such, the data on the platform regarding video games is very representative. We believe it provides a more representative picture of the changing trends in video game themes and genres over the past 10 years. \n", + "\n", + "![juypter](https://upload.wikimedia.org/wikipedia/commons/c/c1/Steam_2016_logo_black.svg)\n", + "\n", + "We take the \"weekly charts\" stats from Steam store `https://store.steampowered.com/charts` as the source of data.\n", + "\n", + "The goal of the project is to collect, collate, analyse and visualise Steam game data to produce a report on global trends in Steam games, which will include the most popular categories of games by country and region, etc.\n" + ] + }, + { + "cell_type": "markdown", + "id": "326217c5", + "metadata": {}, + "source": [ + "### This project is divided into three parts." + ] + }, + { + "cell_type": "markdown", + "id": "56343311", + "metadata": {}, + "source": [ + "**Part 1:** set up and an introduction to other background projects.\n", + "\n", + "**Part 2:** A tutorial on crawling and cleaning data. this part will introduce scraping methods for dynamic web information and introduce the functionality of the basic selenium library.\n", + "\n", + "**Part 3:** Active learning practice. This part will contain 4 questions related to the previous content and you will need to complete the questions based on the content in the tutorial." + ] + }, + { + "cell_type": "markdown", + "id": "5381aca8", + "metadata": {}, + "source": [ + "### Contributor Roles" + ] + }, + { + "cell_type": "markdown", + "id": "b200c8d5", + "metadata": {}, + "source": [ + "https://credit.niso.org/contributor-roles-defined/" + ] + }, + { + "cell_type": "markdown", + "id": "492fd40e", + "metadata": {}, + "source": [ + "**Conceptualization:** `BAI, Haozhe`/`JIANG, Yingyue`/`LIU, Ruohan`/`WAN, Spring`/`ZHAO, Yuanjie`\n", + "\n", + "**Data curation:** `BAI, Haozhe`/`JIANG, Yingyue`/`LIU, Ruohan`/`WAN, Spring`/`ZHAO, Yuanjie`\n", + "\n", + "**Formal analysis:** `BAI, Haozhe`/`JIANG, Yingyue`/`LIU, Ruohan`/`ZHAO, Yuanjie`\n", + "\n", + "**Software:** `BAI, Haozhe`/`ZHAO, Yuanjie`\n", + "\n", + "**Validation:** `ZHAO, Yuanjie`\n", + "\n", + "**Visualization:** `WAN, Spring`\n", + "\n", + "**Writing – original draft:** `BAI, Haozhe`/`WAN, Spring`/`ZHAO, Yuanjie`\n", + "\n", + "**Writing – review & editing:** `BAI, Haozhe`/`JIANG, Yingyue`/`LIU, Ruohan`/`WAN, Spring`/`ZHAO, Yuanjie`\n" + ] + }, + { + "cell_type": "markdown", + "id": "4b24a0a0", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "6b25bf2d", + "metadata": {}, + "source": [ + "## I. Preparation" + ] + }, + { + "cell_type": "markdown", + "id": "f7354565", + "metadata": {}, + "source": [ + "`Selenium` is an open source python library for automated testing to validate web applications across different browsers and platforms.\n", + "\n", + "For installing and documentation, please refer to `https://selenium-python.readthedocs.io/index.html`" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "ffffea6a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting selenium==4.7.2\n", + " Using cached selenium-4.7.2-py3-none-any.whl (6.3 MB)\n", + "Requirement already satisfied: urllib3[socks]~=1.26 in /Users/elsiana/opt/anaconda3/lib/python3.9/site-packages (from selenium==4.7.2) (1.26.9)\n", + "Collecting trio-websocket~=0.9\n", + " Using cached trio_websocket-0.9.2-py3-none-any.whl (16 kB)\n", + "Collecting trio~=0.17\n", + " Using cached trio-0.22.0-py3-none-any.whl (384 kB)\n", + "Requirement already satisfied: certifi>=2021.10.8 in /Users/elsiana/opt/anaconda3/lib/python3.9/site-packages (from selenium==4.7.2) (2021.10.8)\n", + "Collecting outcome\n", + " Using cached outcome-1.2.0-py2.py3-none-any.whl (9.7 kB)\n", + "Collecting exceptiongroup>=1.0.0rc9\n", + " Using cached exceptiongroup-1.1.0-py3-none-any.whl (14 kB)\n", + "Requirement already satisfied: attrs>=19.2.0 in /Users/elsiana/opt/anaconda3/lib/python3.9/site-packages (from trio~=0.17->selenium==4.7.2) (21.4.0)\n", + "Collecting async-generator>=1.9\n", + " Using cached async_generator-1.10-py3-none-any.whl (18 kB)\n", + "Requirement already satisfied: sniffio in /Users/elsiana/opt/anaconda3/lib/python3.9/site-packages (from trio~=0.17->selenium==4.7.2) (1.2.0)\n", + "Requirement already satisfied: idna in /Users/elsiana/opt/anaconda3/lib/python3.9/site-packages (from trio~=0.17->selenium==4.7.2) (3.3)\n", + "Requirement already satisfied: sortedcontainers in /Users/elsiana/opt/anaconda3/lib/python3.9/site-packages (from trio~=0.17->selenium==4.7.2) (2.4.0)\n", + "Collecting wsproto>=0.14\n", + " Using cached wsproto-1.2.0-py3-none-any.whl (24 kB)\n", + "Requirement already satisfied: PySocks!=1.5.7,<2.0,>=1.5.6 in /Users/elsiana/opt/anaconda3/lib/python3.9/site-packages (from urllib3[socks]~=1.26->selenium==4.7.2) (1.7.1)\n", + "Collecting h11<1,>=0.9.0\n", + " Using cached h11-0.14.0-py3-none-any.whl (58 kB)\n", + "Installing collected packages: outcome, h11, exceptiongroup, async-generator, wsproto, trio, trio-websocket, selenium\n", + " Attempting uninstall: selenium\n", + " Found existing installation: selenium 3.3.1\n", + " Uninstalling selenium-3.3.1:\n", + " Successfully uninstalled selenium-3.3.1\n", + "Successfully installed async-generator-1.10 exceptiongroup-1.1.0 h11-0.14.0 outcome-1.2.0 selenium-4.7.2 trio-0.22.0 trio-websocket-0.9.2 wsproto-1.2.0\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "pip install selenium==4.7.2" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "4a65133d", + "metadata": {}, + "outputs": [], + "source": [ + "import requests\n", + "from bs4 import BeautifulSoup\n", + "from selenium import webdriver\n", + "from selenium.webdriver.chrome.service import Service\n", + "from selenium.webdriver.common.by import By\n", + "from selenium.webdriver.support.ui import WebDriverWait\n", + "from selenium.webdriver.support import expected_conditions as EC\n", + "import time\n", + "import json\n", + "import pandas as pd\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "import os\n", + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "id": "61a905fe", + "metadata": {}, + "source": [ + "## II. Webdriver Installation" + ] + }, + { + "cell_type": "markdown", + "id": "9f4f491f", + "metadata": {}, + "source": [ + "follow the setup instruction\n", + "\n", + "`https://sites.google.com/chromium.org/driver/getting-started`" + ] + }, + { + "cell_type": "markdown", + "id": "2ad81d0b", + "metadata": {}, + "source": [ + "#### Here, we take Google Chrome browser as an example." + ] + }, + { + "cell_type": "markdown", + "id": "28854e41", + "metadata": {}, + "source": [ + "First, go to top right corner of your browser, click the `three dots`; \n", + "\n", + "Then, select `Help` and then `About Google Chrome`;\n", + "\n", + "Check your `browser version` and download the corresponding driver from `https://sites.google.com/chromium.org/driver/downloads`\n", + "\n", + "(in terms of drivers for other browers, please see `https://selenium-python.readthedocs.io/installation.html#drivers)`" + ] + }, + { + "cell_type": "markdown", + "id": "49e8e805", + "metadata": {}, + "source": [ + "After downloading the driver, unzip it and move it to the folder you like" + ] + }, + { + "attachments": { + "%E6%88%AA%E5%B1%8F2023-01-02%2017.30.55.png": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAABqCAYAAACiTRYmAAAKrGlDQ1BJQ0MgUHJvZmlsZQAASImVlwdQU+kWgP970xstIRQpoTdBOgGkhNBCEaSDqIQkJKGEGAgqdmVxBdeCigjYsFEUXJUia0FEsS2KimBdkEVFWRcLNlTeBYawu2/ee/POzJnz3XPPf875/7n/zLkAUFS4Umk6rAJAhiRbFhHgw4iLT2DgngES0AEqwBhoc3lZUlZ4eAhAZMr+XT7cA9C4vWM9nuvf3/9XUeULsngAQOEIJ/OzeBkIn0L0JU8qywYAtQ/xGy3Olo5zG8I0GdIgwj3jLJzkoXFOnmA0mIiJimAjTAMAT+ZyZUIAyAzEz8jhCZE8ZG+EbSV8sQRhKcKeGRmZfISPI2yOxCA+8nh+ZvJf8gj/ljNZkZPLFSp4ci8TgvcVZ0nTuUv/z+P435KRLp+qYYooWSQLjECsGnJmPWmZwQqWJM8Jm2IxfyJ+gkXywOgp5mWxE6aYz/UNVqxNnxMyxSlif44iTzYnaooFWX6RUyzLjFDUSpGxWVPMlU3XladFK/wiAUeRP1cUFTvFOeKYOVOclRYZPB3DVvhl8ghF/wJJgM90XX/F3jOy/rJfMUexNlsUFajYO3e6f4GENZ0zK07RG1/g6zcdE62Il2b7KGpJ08MV8YL0AIU/KydSsTYb+SCn14YrzjCVGxQ+xYANMkE6ojLAACHIky8A2YIl2eMbYWdKl8rEQlE2g4XcMAGDI+HZzGTY29rbAzB+Xyc/h3f0iXsI0a9N+9a5AOCRNzY2dmbaF3wIgJPxABDvTvvMPgOgbATAlT08uSxn0jdxlzCACJQBDWgBPWAEzIE1sAfOwB14Az8QBMJAFIgHCwAPiEAG0vlisBysAfmgEGwBO0Ap2AsOgEpwDJwAjeAMuAAug+vgFugCD0EvGACvwDD4AEYhCMJBFIgKaUH6kAlkBdlDTMgT8oNCoAgoHkqChJAEkkPLoXVQIVQElUL7oSroZ+g0dAG6CnVC96E+aBB6C32BUTAZpsG6sCk8C2bCLDgYjoLnw0J4EZwL58Gb4BK4Aj4KN8AX4OtwF9wLv4JHUABFQtFRBihrFBPFRoWhElApKBlqJaoAVYyqQNWimlHtqDuoXtQQ6jMai6aiGWhrtDs6EB2N5qEXoVeiN6JL0ZXoBnQb+g66Dz2M/o6hYHQwVhg3DAcThxFiFmPyMcWYw5h6zCVMF2YA8wGLxdKxZlgXbCA2HpuKXYbdiN2NrcO2YDux/dgRHA6nhbPCeeDCcFxcNi4ftwt3FHcedxs3gPuEJ+H18fZ4f3wCXoJfiy/GV+PP4W/jn+NHCSoEE4IbIYzAJywlbCYcJDQTbhIGCKNEVaIZ0YMYRUwlriGWEGuJl4iPiO9IJJIhyZU0lyQmrSaVkI6TrpD6SJ/JamRLMpucSJaTN5GPkFvI98nvKBSKKcWbkkDJpmyiVFEuUp5QPilRlWyUOEp8pVVKZUoNSreVXisTlE2UWcoLlHOVi5VPKt9UHlIhqJiqsFW4KitVylROq3SrjKhSVe1Uw1QzVDeqVqteVX2hhlMzVfNT46vlqR1Qu6jWT0VRjahsKo+6jnqQeok6QMPSzGgcWiqtkHaM1kEbVldTd1SPUV+iXqZ+Vr2XjqKb0jn0dPpm+gn6PfoXDV0NloZAY4NGrcZtjY+aMzS9NQWaBZp1ml2aX7QYWn5aaVpbtRq1HmujtS2152ov1t6jfUl7aAZthvsM3oyCGSdmPNCBdSx1InSW6RzQuaEzoqunG6Ar1d2le1F3SI+u562Xqrdd75zeoD5V31NfrL9d/7z+S4Y6g8VIZ5Qw2hjDBjoGgQZyg/0GHQajhmaG0YZrDesMHxsRjZhGKUbbjVqNho31jUONlxvXGD8wIZgwTUQmO03aTT6ampnGmq43bTR9YaZpxjHLNasxe2ROMfcyX2ReYX7XAmvBtEiz2G1xyxK2dLIUWZZZ3rSCrZytxFa7rTpnYma6zpTMrJjZbU22ZlnnWNdY99nQbUJs1to02ryeZTwrYdbWWe2zvts62abbHrR9aKdmF2S31q7Z7q29pT3Pvsz+rgPFwd9hlUOTwxtHK0eB4x7HHieqU6jTeqdWp2/OLs4y51rnQRdjlySXcpduJo0ZztzIvOKKcfVxXeV6xvWzm7NbttsJtz/drd3T3KvdX8w2my2YfXB2v4ehB9djv0evJ8MzyXOfZ6+XgRfXq8LrqbeRN9/7sPdzlgUrlXWU9drH1kfmU+/zke3GXsFu8UX5BvgW+Hb4qflF+5X6PfE39Bf61/gPBzgFLAtoCcQEBgduDezm6HJ4nCrOcJBL0IqgtmBycGRwafDTEMsQWUhzKBwaFLot9NEckzmSOY1hIIwTti3scbhZ+KLwX+Zi54bPLZv7LMIuYnlEeyQ1cmFkdeSHKJ+ozVEPo82j5dGtMcoxiTFVMR9jfWOLYnvjZsWtiLserx0vjm9KwCXEJBxOGJnnN2/HvIFEp8T8xHvzzeYvmX91gfaC9AVnFyov5C48mYRJik2qTvrKDeNWcEeSOcnlycM8Nm8n7xXfm7+dPyjwEBQJnqd4pBSlvBB6CLcJB0VeomLRkJgtLhW/SQ1M3Zv6MS0s7UjaWHpsel0GPiMp47RETZImacvUy1yS2Sm1kuZLexe5LdqxaFgWLDucBWXNz2rKpiGD0Q25ufwHeV+OZ05ZzqfFMYtPLlFdIllyY6nl0g1Ln+f65x5ahl7GW9a63GD5muV9K1gr9q+EViavbF1ltCpv1cDqgNWVa4hr0tb8utZ2bdHa9+ti1zXn6eatzuv/IeCHmnylfFl+93r39Xt/RP8o/rFjg8OGXRu+F/ALrhXaFhYXft3I23jtJ7ufSn4a25SyqWOz8+Y9W7BbJFvubfXaWlmkWpRb1L8tdFvDdsb2gu3vdyzccbXYsXjvTuJO+c7ekpCSpl3Gu7bs+loqKu0q8ymrK9cp31D+cTd/9+093ntq9+ruLdz7ZZ94X8/+gP0NFaYVxQewB3IOPDsYc7D9EPNQ1WHtw4WHvx2RHOmtjKhsq3KpqqrWqd5cA9fIawaPJh69dcz3WFOtde3+Onpd4XFwXH785c9JP987EXyi9STzZO0pk1Pl9dT6ggaoYWnDcKOosbcpvqnzdNDp1mb35vpfbH45csbgTNlZ9bObzxHP5Z0bO597fqRF2jJ0QXihv3Vh68OLcRfvts1t67gUfOnKZf/LF9tZ7eeveFw5c9Xt6ulrzGuN152vN9xwulH/q9Ov9R3OHQ03XW423XK91dw5u/Pcba/bF+743rl8l3P3etecrs570fd6uhO7e3v4PS/up99/8yDnwejD1Y8wjwoeqzwufqLzpOI3i9/qep17z/b59t14Gvn0YT+v/9XvWb9/Hch7RnlW/Fz/edUL+xdnBv0Hb72c93LglfTV6FD+H6p/lL82f33qT+8/bwzHDQ+8kb0Ze7vxnda7I+8d37eOhI88+ZDxYfRjwSetT5WfmZ/bv8R+eT66+Cvua8k3i2/N34O/PxrLGBuTcmXciVEAhSickgLA2yMAUJDZgXoLmR/mTc7TEwJN/gNMEPhPPDlzT4gzALWIGR+L2C0AHEfUdDUASsjz+EgU5Q1gBweFTs2+E3P6uGCRP5Z9HuPUpRkjBf+QyRn+L33/04LxrI7gn/Zftp0GGiBmqmIAAACKZVhJZk1NACoAAAAIAAQBGgAFAAAAAQAAAD4BGwAFAAAAAQAAAEYBKAADAAAAAQACAACHaQAEAAAAAQAAAE4AAAAAAAAAkAAAAAEAAACQAAAAAQADkoYABwAAABIAAAB4oAIABAAAAAEAAAGKoAMABAAAAAEAAABqAAAAAEFTQ0lJAAAAU2NyZWVuc2hvdD5XKQ8AAAAJcEhZcwAAFiUAABYlAUlSJPAAAAHWaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA2LjAuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjEwNjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zOTQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpVc2VyQ29tbWVudD5TY3JlZW5zaG90PC9leGlmOlVzZXJDb21tZW50PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KJMmczgAAABxpRE9UAAAAAgAAAAAAAAA1AAAAKAAAADUAAAA1AAAUv45GOz0AABSLSURBVHgB7F0LnE3VGv9mhCFvIiU3NDM9FSpKJElR6qeXSlIJpfe7VPLodfVQeYQUkcqtVFd5JFRyCen3q7g0DfLOc2ZIIrPv9//2+fbsc+ac05xj5rZN3+Kcvfdaa6+91v+c+f7re6x1UhzHWUyWDAFDwBAwBAyBGAikGFHEQMayDQFDwBAwBASBlJycHMewMAQMAUPAEDAEYiGQkp2dbUQRCx3LNwQMAUPAECCYnowo7ItgCBgChoAhEBMBI4qY0FiBIWAIGAKGABAworDvgSFgCBgChkBcBIwo4sJjhYaAIWAIGAJGFPYdMAQMAUPAEIiLgBFFXHis0BAwBAwBQ8CIwr4DhoAhYAgYAnERMKKIC48VGgKGgCFgCBhR2HfAEDAEDAFDIC4CRhRx4bFCQ8AQMAQMASMK+w4YAoaAIWAIxEXAiCIuPFZoCBgChoAhYERh3wFDwBAwBAyBuAgYUcSFxwoNAUPAEDAEjCjsO2AIGAKGgCEQFwEjirjwWKEhYAgYAoZAYIni//0zGSkpKfZtMAQMAUPAEIiCQCCJIj8/n/ACWehL+47r1NRULx8CHi/k6xF19Vrvi1am7eCoL61vR0PAEDAEDAEXgcARBQjijz/+oE15v9LOffmQ+ISf4GMq4H9MCtLvgnOHMzxdgCuiXj6/p3I9+ek+FHIbhJwUPobqoK3Qf6p4SCodUbUSHXLIIUIY8gh7MwQMAUPAEBAEAkcU+/bto927d9OanXuoffOmRPuhVexnoQ5BH5L1DhMIX7tkoETiUolLCZzHWkYqX+TLkcmDj2AJh5mF9RH+h/byqUxqGZqxYAn9o1pFqlChgpCFfTdKNwK//PIL1alTp3QP0kZnCBQjAoEkipycHFq3ax91aNGEqlarJsMFAUDUQyMI0yKkFPmuhsDUwBd8Lje45CBVpDxU5hZKndyduTTtP0uoXqWyVI2fVbZsWW2xRI4QUhdffLG0/eabb1J6enqJPKc0N/r222/Tiy++SEcddRS99957CQ31lltuoTlz5lDHjh3phRdeSOheq2wI/F0RCBxR7N27l7Zv3y5EcWHLU4UooAyIEhHiAhX3SgPQD1yjFNgBKfxKeIOLxPIUasOt51BOTi5NnbeIjqxUjmrUqEHlypVzi0roff369XTuuedK65MnT6bjjz++hJ5Uept9/fXXafDgwVSvXj367LPPijzQ33//nZo1ayamTWiPS5YsEb9WkRuwiobA3xSBwBEF/phBFGvydlOnVmdS9eqsUbCQTzs8jQ47vRat/fc6qtP6MM5LoU1z2YTQujbt3baXcpblUp2zalNOVh79/sse9+NUJon8cLk9h1kDxqvtO7bTlC/mU302PdWsWdOIIhKrAF4nSxQYyiuvvEIffPABXX311XTDDTcEcHTWJUMgeAgEjij27NkjRLFqWx51btuKqteoyag51HxAM9q2fAft3bWXamRW55kg0Yb5m6juGXWFSDZ8vYkq1zuU1s/eSL9tZqIIaRDQJnAu6gSfw0cBzUK0DD7sYFL6cPZcalirqmgU5cuX59ySS6ZRHDi2B0IUB/50a8EQ+PshEDiigEaxY8cOWr5hK13Rvg3V4Fk+Zv9N7z2Ztq7YTnnZeXRsl3RxSayYlEUNOh5N2/+7nXJX5VFDPl85dTXlLs0L+yTBC67jG6zhGq6EP7hgG2sU78+YQxl1axYLUUAbKlOmDFWtWjWsD3oRiyjy8vLkvkMPPVSrFum4a9cuwqt27dpRI7Z+++03QoBAlSpVitSev9Kvv/4q98J3E5kQnbZlyxaqVauW9DuyPPIa4crbtm0jjA9mn6Im9H3r1q3yHPUfJUIUf4ZPUfvxZ/WSHZ+2u3HjRqpUqRJVrlxZs+xoCAQGgUASBYTtsrWb6MoO7URACFqiBbjqgfuuagFrCBy9JOGuXBF/sFA3ENmEMFmXELiU80J3uM1xATSLbSyE3pn2GZ1w1OFJEwUc1C+//DJNmzZNIrbwgCOPPJIaN25M99xzjzhd5aH8FkkUc+fOpU8++YR+/PFHEfSZmZl04YUX0k033aS3eMe77rqLFi5cSFdeeSWddNJJNGrUKPrhhx9kzcnUqVOpYcOGUnfTpk00adIkWrBgAX3//fdik0e7zZs3p0svvZSOPfZYr0098bd9+umn07Bhw+i7776TezGWBx54gM4//3zp/7PPPisOYZB6xYoVpS/9+/enBg0aaHPeEX0BNugftEUI+yZNmtCZZ55J1157rQhHr7LvZOnSpfTcc8/R119/LeND6DL8C/fddx8tWrQoqo/CP4ZY+Dz88MP0xRdf0EUXXUR9+/aVJ95xxx20ePFiaX/o0KG+XhSc3nnnnfLcpk2bCjZakuj48Hn07t1bvo8wgT3//PP01VdfCYl26NCBhgwZok3b0RAIDAKBIwo4szGD/G7lGup6cUc67LDaLPAh6N3QVgh+SHwNcnKFP3LVxe1iC8JI5RBa0IXYmYQmUCYt8NG9c8uWzfTWv6dR44b1xUeRqOkJmsA111xDP/30ExovlKBZvPTSS9SiRQsp8xPFBRdcQNOnTy90DzJuv/12uvXWW8PKunfvLoITwmrZsmUieLWCEgUixtCflStXalHYEZoFooYaNWoUlq9tn3HGGUIumIlHJjiQESkE4RiZoNGAnOrWZVNgKKGNq666KiY2LVu2FLIDCfgTMLrssss40CDHny3nCDZAMABIOdKZrWOIh0+fPn1o9uzZ1LlzZ3r66aelTUSfPfHEE6IZQWhXr1497LnoB/q6f/9+IZfrrrtOypMZHwgJBIl01llnCUnIBb8ZUSgSdgwaAoEjCjU9LV6eRd06dxKTCrOEywMQ8qw9QE8AUYisd+W9yn3OREGIHLSOZPEbyCZUAydoY8vmzTTxgynUJLNRws5skNqNN94os1Gs7L777rupXbt2Mmv+/PPPaeTIkUJ6EJ6IzoFJyk8U3BUJ04T2cMwxx9Dy5cvp0UcfFe0CZZhN+01YKghRBoGPGTSEIsgNoaIQZNdffz19++23sh4Es++zzz5bZv3z5s0jaAIw66E/EOoQ7pr8baMvAwYMEM0Ds3doEyBETffeey9dcsklcvnGG2/Qa6+9JuePPPIIdevWTc6xaBIzZzwXwh0z+TZt2gi5gdR05g4igTaiCaYyOJqBBQgEGhmIAdgBU4wB3xGkWESBsmj4oL1oRAFMWrduLWa2QYMG0RVXXIEmvIQQXHwuuB8aIIgk2fH5iQIPaN++vWh5wBzalq3v8GC3kyAhwDPvQCU2TzgbNmxwJk+f5VSrWsVJz8iQV2Y6HzMznYzMDCcDeel8zseMjHS3PDM9dM15XFfq4Rgqd+viGmXpTqbcm+FUqVLVmTxjljwTz04kffnllw6bdOTFwrLQrRyv75XPnDlTytetW+fl8czUYYETdh+bXLxyFrJhZaiP55144okOm6rCynDBJhXv3okTJxYqZ1OUc9xxx0md0aNHh5Vr26eccorD9vKwMtZAvHafeeaZsDJcdOrUScqZmLwyFqjePUwMXr6e8DoIr3znzp2a7cyYMcPLZxLy8vXko48+8sqZQDRbjjqGWPigEq+jkPsfeuihsHtZe5N8Jv6wfFz06NFDynCvpmTHx8Tr9R94sa9Hm7SjIRBYBGDTD1SCsOZZt/OvKVNZiFcWgQ+yUFKA4Md5Oh8zQ6QRRgJSF3VAJAXkAWIA2RQQCNpMd9h5KM+CcEyUKIYPHy5/9DxTjokh2/kdnkU6mzdvljp+onjrrbei3nfqqadKu5Hko4Kwa9euUe/T/rRt2zZqOTJVULJdPqyOts0aSVg+LvzkxT6SQuUPPvig9BdtaOIwVMljv4ZmhR3ZDyXlID5/m0og8cbAZim5NxZRxMIHHdDxRxIFiBx94XUtDvqmibUN54QTTpAykJimZMfnJ4r58+drc3Y0BAKNQGBNT3PmL6Re3btS3cPrsmPaNTWF/NSemQkWKSzEg7XJb1KSECfOx64f+SgQcxTc3V4tUepwtXH9Bho9YSK1aXFaws5sFjri1D3nnHMkPl8a/ZM3v+kJvgI4diMTbNWrVq0S09LNN9/sFat5CD6Ifv36efl6omYVFrI0YsQIzQ47wl+CtQRwUM+aNcsri9d2VlYWsdYgdeFTOfroo737cAJzDWsw4iyHKQrptttu8xbD6b1S4HubMmWKXDHReGsaYK6CszneGGDiev/992OanmLhg4cpRn4fBfIRXdWqVSvxi8BfcfnllyNbnoPnIfKLNUhvnU2y4/ObnpgoCvlD5KH2ZggEDIHAEQXP6sWOPvPLedSnx/Ui0Fw57wp58U+IwOdrcVQwokwUyEJZvvowJNt1gKeGiMStwe5tZhxEQSFtWL+Whr02ntq3bpkwUcAZvXr1auKZtBdBI43GefMTRayV2dheAs5o+CCiEQXPmOmxxx4r9JSi9AcCFoIPCVFNuhJdiSJa28kQhZJdoU5GyfAL9qKMAdFeiA6K5aOINgZ9bCyiQDkIAo5tOJnHjBkjt/Ts2VP8Ev4+oiDZ8RlRCKz2dpAhEDiigIMY8fZTOTLljp69RBiEdvcr4AXEtTJJgDrcDf5coe/TK+RjcPkDLIGaYBI+dzP5Gvn5tHb9Oho68lXq2K5twkShGkW82a90xPdWkkTRq1cvmfWed955nrPY92g5RdgrXnCaYuauqbiJAg56RBDhORpdpM/SI2bxcOAeccQRnpai98Ubw+OPPy7O+OImCoQaQ5OA4xxOeEwmEO0Ex/W7774rYcDad+1nouMzolAE7XhQIRA0wxhHvYhj+ZUxY520CmkhfwT8Ceq8Zl8DfA9wZouPgp3JXKZOb/FLoCydndzq4Pb5MrQefBzwbVRIq+jgWXCgczRNQnCwwBXbdTwfBezd8E9o234fBWz/0RLPVqVd2MH9Sf0IAwcO9Gd752xWkvti+QVQEb4J2OJ5Zu3dh5N4bcNxjnvwYpNY2H24QH9Q5vdRqK8Bju5EEq+dkLY4GijmbV26dJE6sXwUsfBBg7F8FPowXsMibTMxOKx9yTk+j8iU7Pj8Pgq/LySyfbs2BIKEQGCd2UNHjnLSypcXh7M4ryWCyY180oilgvyQ0zpUR53bnhOc85UY3DKuz+QBwuHQUmfoyNFJEcWfRRl98803XpSRRv6UJFGwz0EEG4Q2ooMiExzriAhCOfswwoqLmyjUOcyL+xxECEUmXoPg8LoMB1FU6Jcm4IT+4fXhhx9qtnf0j7EkiOLVV1+VZyPSic1Ocs6mLu/5epLs+IwoFEE7HkwIBJIoMLsfMnSYU65sORborrYATaFwlFOIIBDRhGgnJQo9hvI9wsA1SMMLrc1wypYrK8/CM6HNJJJQXyNwIIB5bYJEzPDvaTgInWWTlAgadpI6bFKTpkuSKCB8NVT15JNPFrJA1A76w2sQHGg+EMC8+M9Zu3Zt2FCLmygQ8sqrn+V57LB3Pv74Y4cXrkk4KK+RcHjRmZQhogjYa+L1Gg60CfRTx4D70B4vsnM0IgzlJUEUvJjQAbkh+gl9w3lkuDD6muz4jCj0k7bjwYRAYH0UE9+ZRA8/+AA1atAAZOb6F/gA/7V6J8Tv4OV5zge3DvLFCIhoJw5/Yn+Ew15tuDe8xOerVq+ip/45mLpe1SXhBXdoB/4ULBpjwSvNwq4NGzfs2khwFmMrCiysQipJHwXax3Yi6A/2DkKSrUvERyOXss/S+PHjw+ztKCluHwXaxApuNhNJn3CNvmBxIAIWNMHfgAV2/pSdnS3blGCvqciERW9YHIfV1cXto9Bnqf8B19hqBHtLRUvJjM98FNGQtLygIxA4otCop3HjJ1C/R/vy/kXuVhMFNACiwNprEADOkEK/SOEnAcnnco6Cwh3++10K4RwWoNkchjroyafohuu6SagiBFmiac2aNcQmFAmVFVLjBtLS0ogXt8mKXp6Zek1CgCOcFolNK1H3XcI+RNgSBKuS4aDWhG2xEVKJ1c8auaRl/iNCa8eNGyd7Pf38889ShFXY2MMJgvu0007zV5fzeG1DcGP/KaRPP/2U6tevL+f69uSTT9KECRMI23+MHTtWs+WIe9EXrDIHTppYW5AQWoSkRkuoj3axB5YmbDuCFdIrVqwQvNEP9EdTvDFoHWyLgrBgbBGC9qMlhO3ef//9UoRtS/SHpqLVTXR8+A0MRFAhRa68j9a+5RkCQUAgcESB7RnYyUdjxo6jgY8/Rg1CROGC5f6GBISxRMbyEbPUQsmLikJ9DpnlCm4t6CJ8DyKmWMngwXMYahb1G/AE3cRC+EB/jwIzYBABZr3YUgOaxV+doGEgugiz7786YQYOjBDlVNQdZDkQQL4P2KUWryCnZMYX5PFY3wwBRSCwRDFq9GgaNHAANTomIxQC6+oBXsdZ4DNLsMKAtRPQLgoSFAuPP0TLkBzO5aPYrgqus7KyqV//ftSbQ3HxC3fJaBQFT7YzQ8AQMARKHwKBIwrMfmH3HzFiuJgGsLI6bK0EC3rZSZapAb9TEbIsiXbgMDuEjFD8STF1sMYQck/wTrLIYlJhX4XsKus2zLVS6RE2cfW5pY8QhS5AK30ftY3IEDAEDIHkEAgkUWBbZw7v5G0sVrOsh+FIdIEwrUGIwDMqqYYAXwTOXcXBYTKAaQp5+ThKEV+BQHDN5IG8ho0asB36EtmmQX8cRxqxN0PAEDAEDAFMxCE1g5MQLcThnLKNR25urkQP5fP22SLVfd0siOYRGmAy8BufCipieCm86RNIAb/Kpj4NvR+mJmxJja2jYTc3oijAzs4MAUPAEAACgSMKCHOQBX6XANt54Fq5TI/60bkkEE4QSgAyOGaHyHv0XiUMOJxBFohSghMavythyRAwBAwBQ6AAgcARBboGclCCgKBXYe8nhqIQgr++/1yHjzb0BYIwklBk7GgIGAKGQAECgSQKdE/JoaCrJXumGkbJPsVaNwQMAUPg4EMgsERx8EFpPTYEDAFDoHQiYERROj9XG5UhYAgYAsWGgBFFsUFpDRkChoAhUDoR+B8AAAD//56UF/MAAB46SURBVO2dB3xVRRbGT0JRRAQbIE2isu6Kri72roug4mLvrl3ZRcXee8UVFVFXsVcUVMS+iuJi7+IqiCwKCAoYivSWkGS//7w32ZuX+1JeEvKCc/LLu++2uTPnzpzvtJmXUyKyQIEDgQOBA4EDgQNpOJBTFaAAS4qKi604+c9+wJc0HA2H64cDVdR36lMrysnJqR/ehKcGDtSQA5UCxcqVK41/gCJQ4EDgQOBA4MBvjwNpgQKLoVAAUVhY+NvjSmhx4EDgQOBA4EApB9ICRYEAIoBEKZ/Cl8CBwIHAgd8sB2KBAlfTioKC3yxTQsMDBwIHAgcCB/7PgXJAgctpxYoVISbxfx6Fb4EDgQOBA79pDpQDipVFRQ4osoErRaoLmVYuWUTpKsq1MlNM3W2VQFJSnMhhwUU28K47rGiF2ew5+bbmms3t1NOOtw7tO9naa69tjRo1yobmhDoEDgQOBA40SA6UA4psik0sW7bMmjZp4hibk8AIpeUKOHSkOJkOqV0BSbHdOKC/TZ+Sb+06dbCZv0y3W/vfZIuWLLUNN9zQGjdubE2S5TTItxQqHTgQOBA4UI8cKAcUy3E7SZPPBpr366/WqmUrjAhRsUBCG324eRwc4ruDjRJ7dvgwa7FuB8vbpLO9PfJlO+3kUyx/Zr7bLyxcaY0FFAEsYFqgwIHAgcCB6nGgHFAsW77cuXuqV0zdXJ2fn2+tW2/gAEJGQylg4IECIgAOQAML481/v22t229mLdZpYV9/+aHtv08Pm/bTNNtqy61sZdFKK1hRaE2aNnHWRd3UNpTaUDgwa9Ys9avWDaW6oZ4NjANLFi/GzWHNmzdvYDVPX91yQLFU7h6EbzaQAwq5jhwpHlGc6wITLjZRUgI8OBNDbiizF0Y8Z+PGjbcNNtjAFi9abGf2O9OmTJpiO+60g+aDFFmRMrkKCgtkVTStV7BASB15xBGuSQ8//LBtutlmifaFzypz4Llnn7V77rnH2nfoYE899VSV7+PCc845x957913bd7/97B//+Ee17g0XrzoOMPY/+vBDKXs/WRO5jrfo2tW66h9XcnWIcubPn+9uadasmXXq1Kk6t1f72q+++srO6NvXcnNz7cGHHrItttii2mVk4w1ZDRRe8yshoC3ulcYlnMsp6XQSSgAXTz/9tM3In215eZvY+HFf29n9zrZJk763Pffcy7nSAIqVckGtWCnLorEsiyaN6+V9zJgxww7o1cs9e+iwYfb73/++XurRkB/6xBNP2B0DB1r79u3t1ddeq3JTyObbbddd3UoDCI0PP/pIih89K1C2cIDklbvuusuelgKQOo+LpJSz+vWzE088sUrvDYA4/LDDbO7cua55m2++uQ175pk6beq9UmAefPBB94xzzj3XTjrppDp93qoqPKuBwlsUuRrMilDI0klYFB40GOPFAIWA4xlpmW065VmXzbvac0MetBOPO8G+/2Gi9ejR012D+8mBhZsjssJZFvURswhAUfOunSlQ8OSHNIhffvllO+LII+3444+veWVCCbXKgRuuv95GjBjhylx//fXtj1tv7cbtN998U2oZHHrooXbV1VdX+tzLL7/cXv/Xv0qvWxVA8ZMsoKuuusqQWf1vvtnatm1b+vyG/CXrgaINvmSQAStCpkOO/sh8ck4nfE5gh068/NIrltushTVfp6VN/OZLO/zwQ23q1Cm2y0672hprNnXzQopWFqvTFVqBJhMWCjjqww0VgKLmw6UmQFHzp4cS6ooDuJrOPPNMV/yfu3e36wUa3s+/aNEiJ4DffecdZ008LzDJy8tLW5V35V48V25GiOumTJliqwIo0laogZ/IaqD45ZdfrF2btlZMJLskF5vCgQKWBHMoMDByZKrihHrl1dds4dLl1qzZWjZ/3hw7+vDDbM7s2TZv/gIrVhZXo0a5CmYrPiGXU+NGjd11zZuvZc01z6I2LYt58+a5eRvrrLNObNdIBxQMBPyafmDE3hxzkMDZ4iVLnO+W+1OJFGNm2rdo0SL1VKX7S1Qu97Zs2bLctbgI5syZY2h9VZmnApj/qiy2tdZaS7xvVq68dAdwP+A64Dn+PVUHKCrjT7rnVvd4pu3zz6GvM+eH/9qk2nyH/p2vt9561YrzoZjx7okvVNRXsPDGjR1rjJ2XZPW1atWqDCsWq68fdOCBrqyjjj7aLr300jLn/Q7v/FC5nGYpPtGjZ0/bWHGJhxQvyDagILuUMUQ711hjDV/9rNxmNVDgemrbpo3QQLwTVgge9MeGrSwLDjp3VIk9PWyoLVi6Qte3tvFff20XXXiBFRYX2sqClYn7daPvpDlOoJZYo5xGzqVV08FJLGXwvffam2++aUuXLqWG1q5dO9tyq62sn3yqHRR09ZQKFB9Kixr5xhv2/fffO6D43e9+5wKtcb7Niy++2L784gvD9O665ZZGMHz8t9+6LLURL7xQqmHBt+eHD7fPPv/cvh03zgl7yt1u++3toIMOMr6nUrTs7bbbzu67/343aAEK2nLe+efbPvvsY9R/0KBBLiCMzx/BT5Dx8iuusM6dO6cWa9QF3owcOdKWK6MOYb+13Ak77rSTHaPBDlDH0XfffWd36jmfqw0IKObC/OlPfzL8vl9++WVsjCLahnT8uUYuiw8++MD2239/u+iii9yjL7zwQvtqzBjbRuXffvvtcdVx147Rc7feZhsbqPiIp+q271u9r7PVJ4iNEKO668477eOPP3Zg2HPffe2WW27xRVd7G21/bb7Dt956yx577DGbPGlS6Tvs0qWL7dOjh5188slp6/ma4kdPPP64TZw40V2z5ppr2uaKyfWU8D722GPL3IfA7KH+BV0ml9GRcg2mI0C5othS//79jYQHBDCWx1DFLzMBikcffdSGPPlkumqUHmeMH3zIIW4fHp1++unuO+/XZ9dF301vgd0dd9xhH6of+jiMlxU77LBDabnZ9KUcUCxJCrpsqCSDcKO2bcCFxCxsAUaJBliuDvjANlsgY+jQYfbNt99Z6zYb2fy5s+yaq650IOCQRdZHca6uA1doGLP3QB8JoMVLl7lMqUzbiyVwsgJWk9RB4ghtfMCtt5rvAFGgQNt5S+ASR32VOdHnb38rc6qPOiCCE4E2QYIUwevJA8WCBQtcfTC14whtjUGft8kmZU77snfccUdDmKG9pdKNN91kd999t+VL+02lDeUiRNOP+mTR7Ag8puPNzjvvbHepPEAgSvDoOAkSn60SPddUVuFee+9tbwp4UoPZvg0V8edcAQ3uiwM1WK+TawMapgF9izKgUCRGvf12OU0Wnnb/859dUsRFAmsv5DJp3xgB0qmnnOKeu8suu9hHCqh7qilQ+PbX5ju8WX72ZysIAEf56NvBdsTzz9sNN9wQPVTmO0B93XXXGe8TekPK0mVJC4F3gAWJAvaDFCgsZpSEqmQ8Ecs4SX0OMLnhxhvtL3/5i93zz39mBBT+vjIVj9mJ9okJEyY4BYjLXlN8BCUL8u9mz732srGqIxZWKmFVPKqx+Yc//CH1VL3vlwOKbEuP3WijjRxQ5Lgp2IngdSnX1BkS8e0SGzZ0qE2eNt1ab9RWM7Sn2JVXXp64DFDhm7aOcFkBEoCFNgsXLipF/cQFVf/EpO77978bgx+3DxkZe0uIoTW///77rnPOlaaE8CQ7B0EUBQqeRJom1sMmEtxoXtdr8GBdQO++954zw92OPnxnYx+Bf+ZZZ9k20nAZbFgtmLJ/E7h8/Z//OOGL9r3bbrs5rf8Taa1YArjGqM8T0pSiAy9a9qabbmpXXHmlszxo25WyFhYuXOirYWfL98sAhEhPfVydG7r4kkvsmGOOcd+xRNCc0ZapH1r77nvs4cANIT948GB33RFKFcYa8YSrDOD973//69rQ7+yzbS8NLngHTwdJE8OSgdIBBefi+AMgxQEFgNRT2jHa3dWyOA6RxRalF2WtIdS4/61RoxyQZNq+KFDwjO7SorHyeP/0G6+BRp9f1e+1/Q5RNg4TLxC6e+y5p/Xp08dZjbiH0JYBXOh5gcIm6jOe3lO/PU99D0sQC+wUASOCnvtwKWFBQwR9cRFBDz7wgN0ryxPF6jlZwwMGDLBRsmSilJeXp6V5TrMDDjggerj0O+/kWPU/xs9OslgH33efO+cFfnVdT/SHgmRfK31I8ssl6ut4AwCCpyV7vHu2MqDgdqyhM844w7orDoNF/YH6NRYGylkbjU0yOHHvZRNlNVDgt+2gF0GHE3dL4xIJoS8pL5FPJ4aGDHnKpk2faRvIVfXTlB/sWg14zrmz7kO/0KfrwAd/D/ctkABsg3srA4oG33DNnHDCCWVKQbAhLKGB6giASBQotpcriM7sXWJcF+1o9+kcLhpPXhAgUIaqc6bOwcCUPUvgAcWZ71gjfxeQwE+EfdRt4MsmfvDCiy+W4cnw556zm2RNQMerjeerrVFiXgiDs5fSfm+S2Q99LE2ZwQDdokGPuyFK0TRCXEHeBfW2tMkLL7jAXRrV1Py9uDMALigdUKTjD/fEAQXHadPof//bsHLuTYIYx6Ez1Q40f7RBwBbKtH1RoIBfWGkVuVHcw6r4Udvv8D9SOAgKM4/hZAn7aGyJsdlLVgFjiewissg8+VgDSh5CNBprQJlBMQI0cIGSrQjdKqublFjSxVHAJk+e7I4jiHHneusSXmEpxIHFY1JYcFeimQ8XeHmXb6ZA4SoQ8+FjZChAj8m1FrUAouM3zqKgOMbF6QLdKL0j0AVcofPV/7MtIy+rgQLXUzt1NkdJoQ8u4Goq0heggn/cT08+McR+nD7D1teEuxlTf5Rmfq3zM2FPuCuTmVLq2bJC9A9qqKyFizO3KLwWhIb+elJLUqllCDcOHb9jx47OxRUFitQB5m/cY/fdDZdWKvh4QdCtWzd7+JFH/OWlW18fBhedNI68oMS/zOD05MvGbUF8IkrRzv+Q4iLbbrtt9LRdLc3wlVdeMYDvgWQOOT5hBujGG29sL770Upnr2WHg7y3BC0XL9ABSURuOO+44F5tJBxTp+MOzfPtTXSajR4+28887r5z7CbfTPtL80FZvU/wCLRDKtH1RoLhfWrR3SbpCa/hR2++wsur49/BXBaEvSII7Wviucqmxveaaa0p999GySE6YNm2as6C2VKwN8n3IX4dFcK2sOJQ4wGicYm08Y7bcUVjvQwQqUQE9c+ZMZ/1gkWLZn3rqqb6ojF1PpQVEvkSVrWuvvdYOOvjgyNmyil4cUKy77rr2thSSOOXgdFlLXygGCQiiQGQTZT9QSOgh3KHEgoC5SQtD+3IjOaTQufsG328Fxbm2bqt17YvP37eBtw901oQaWAoqiWKSIJHL/cU1sij8LF/M8jsVlKwKRYECbYTAbiodos73448/OtfSaeo8nrwgOPKoo+yyyy7zh0u3XghGNd/Sk8kv6QRxRWVP+uEHpRsf7kpA6CP8o8QM52fkiogChdfQuQ7NOY7+lQSzqAaFBYYlVlEbrtMAfVFWTzqgSMcf6uB5lAoUCDbcTwBYVMC9pOcgENCKRyqe5H3qmbYvChSjpUVGte04HlXnWG2/Q//s2coeRFCTOEHQmZjBIlnin376qbskChQkIeD+gbAmosLcHUzzQRKBDxwT2AWIUzOBcIUdrb6P4kUa7WnJoDFF+veRl5fnrBSsSk+1ZVGguNI24guMB9yzqRRVquKAAsUABSGOcLcReN9ss82c+y3umvo6ltVAQXpbu3btk1YDJgBg4d1JibkUOQpScGTi1O9s8MBHrGRlrvU4cjfbf48D3LWghZt3kcCaxDHuSO7jesrUL3ywfMtTp061Y6Xh+gyayl5kFCjSzcw+VBkUDApiEHFAkS41sCr18YKPen762Welgs8LmbiyMwEKD3aV8YPzUcFelTaQ7fVPBcHTAUVcG3w90gEF58k4ItZFkPke+cuhsySQ8EVH68jxTNu3KoAirv2ZvENclCgW8LsiigLF66+/bpcnlZj35VKsakbhs3JB3Zx0W1Y0o9lr3dEYRNTlGmel1QZQAE5YKbjMADJ44pWGKG8qA4rDFJO5UhZ4HBHvu01WPiBHxmI2UVYDBQjeQcs0uHB0cQIQiF6XKH2JWAPuJ4AgGXiwZcuWK9C5XIEl5V+7UwACFyQBJnnMlSTcodz5CzKPUXiLoiLt1z088lGXQNFPwIK/n8lK6dI871fcg9hHa5n0pKx6qm2g8H59nkOAPo7Q4hkUbeVe9FaKv6+iNtwkH/VwBTxrGyjGjx/vsq2IGXn3ANlOuJ1wdZAG7MnXs7rta0hA8YBckD7pgHTYXZUYwdpFJAowL4f+z1ylKFBELYp0ipDnYXQbjfeRJdhD1l0c+SysaP/1fRfBTUZcKk1UYgQWOnOUdpYSAFF3H8NIvT5uv79cQc8pVofriHali2tWBhRRJST1Od6q6ty5s4sTpp6vz/0GARQwKJEGmxD47Cfkv6wKhwNJC0GBrgQIaF/Bi+IiAYqOEZAoZitXlbteH9gnHCILKN1L5zkVkR9IFcUocGUgaBhcdOS6BArmKzwgszZdXIC2YPmQTcKAItPCkx9staWNehcXAuZZDbCqEuv8PKr4C4u3kSETR6TcfqO5MrUNFDyLtYFI58X9hC+cLe4M0o+jlGn7GhJQ4GZB8KNBP5kynwAFjASFVKCIxijifPjwEO2cGBxZZD5biKUvDuzd27GYTDcypeLIv/u9BeB+PgvBcTL9qkNPDhliPj5S2X0vy93q+wPJJxXFlSoDig006ZB5KXFEBuUnn3ySlQtWZjVQkFnRSUFgpDt4kMAEhL37ljzOOlAS+w4EBBQEqnU6YX/oUyCBe4prhAsOcLjff58nQZ4pUERN3rgsI7JGyJnHhPeZP3UJFNFlCwiGpWaGEFgn9ZTBnOrjrW2g8MFhgJqVXr0m5wcIM4ZZPA3e7KuJZl5bZ9LiJZqrAPk8eH8P22gb6wIofOYMmh9AgYUWJ7gybV9DAgoWUOQ9paYw8x4IuuIGgqIWhdv/61/dRE8SOIhTRN1PjD3iUPA1FYB9H+T445qTk7qawFi5fei/ZE5FU7FfkUJBMDsdfaQUbYAEa+BoTfKESMtlpWmI1G/Ay++7g8kPgJJ5GZyvyCXm76kMKLjuUrnmjlKsJUrRIHlVnhO9d1V8z2qgwPXUsWMHCXuJ9ZIiCXcJfAkWy2E5j6TgF0BADkoAC30HBNi6PXVMgANyVom+u+hGEizm1sCiYMIbfkuCfLhQWFIAlwlBOGb6klIKMDAZjbROrqlLoGBQM5BIVWUWLL5Q5lFgyTCjm/oAvgwYNCoErSc/SGvLomAyGpreDwqEM3ubRdwQvgx+jjHBjRnWaJWvvPpq6UQ9csmZbEdWjG/D7soCayShzYBn0Ti0UagugIJJXvsJuAAJQA6hREZbqjKRafsaElD4xALSYu+UpcdcCKxjYjbMcKe/QalAgcZ8cXLWO+nGfZUOiiKA1cCCf8zWhlKVK4QsVgxgstUf/+jWeurcubN75mcKnDO+ePeML6zUqi4Z7q3UuHkU9EHciLQLxWR/pfx6whtAX2TMpmYJ+mtSt1UBCvo8GY9YRYzNzxQrvFGTE8kGI7nhKQW0yfrLJioPFMpZTsrVeq8nQLGxgAIsQPjjLvKAgNuoqEiWgbbuPIDg0l7L1j4BEkkXlSuEErA3OMb6Q5m7nmAQGRAnam7Bzz//zK4TLvi46XgQHYFVJH1aZV0CBc9D0FEfAAFC2NFOTwx61sn3Grw/XttAQbm8P+aWkJQAURcGeXRGeVyK8JTJk10euRdE7ubkB4MMXzmTveoCKHiMjz/wPRo0ZT9KmbSvIQEFVhNzWpxypobj42eyI32bNPQ1kq7UVKCAR36ugecXShKWrCeWGLlb6dMoA1G6W4D0SCT1m1gEoOz7Av13kDIMK3L/RMvje0VAgfvqSVkvUCoYePci5+i7tCGOSMf18x4qAwoyA7Hs/VI/0fKQG8zhqU7bovfX5ffyQJFlP1yE64mXVJxAgwQqiCPFbiKEjksIKtM1aSUISJJC0W8d8yQnE1YEVkjiHkRnjsqcM+/Xctqiu6caH2hKBKL4QRz/XL+uDTM4oymCCPD9NRsbYrJR3LpL3k+e6vJgshwpicdIy2HtmHRE4O4pWQxoKmjmEFYNg5Osi9R5EJyvqGwEN+tLQS9rvgQuhSj5tL64ORjcO0R1wbSGT57QGHnmLnJvxBHX36p0QT9LnWuYvYzLgWO333abqwf18VRRG/w152muxDsSgAcrBfkapb3GEWm7V0jjg+JceNF7qts+3JFYfVDqzHt3sAYfFbU/03dIkJlsMN+PqB79iPRsLFSA7wS5ZuBrKjHD+HFZD15R4DyT8FiqhImhgH4cMbObBAj/OxJcgxDlx4sIQsf137hy/DEy5MhSYhziCosSriUy2wDAm2XlYr16SgUtfzx1G3UVsbrCUcnJh1iixC+hqCLWW7EYxgxxNk9YEOeKh+mC+P66+tpmN1AQo+jUUdq/3ADOAhCbZBXICyXwACzkjnIgAvtwMTnxr23iAoclOu7uwRxx1wgs3D0cyFVe+Gw3bZ6zNSW0HtZBaqQBQEYFnbu+CQsDTS7qZqqvOqGBLxWPyHKKzvKtqD7k8JNwwNo//GczZdI+3x76Lm3NhFiKhT5dl8TEQ/oSqeQ+AF2V52GNMPcCNw7uu6rey31TpfBMkqLRXK5LlgLBhVkXxPiA/1j/dUVRoPCr3hIbwRPBch3wpq7fYU3altVAgfbdmcld3kpQS73GzhZYKD0nVGDBQOEJB0sn43EdjibiHC7UkTzvrtHxOXPm1tii4ImBAgdqwoFo1k91yyE7rKr++uqWHa6vHQ7EAUXtlLxqSikHFMsUoPU+yVVThfRPmZU/SwNAwewIACSsAwcRmBQJ4Z9ADAcafC2TSqsDuJ0S7imMC/b0KcAAQOYogJTphLv0NQ9nAgeqx4EAFNXjV0O7erUDiuXy1ZHpkQ2U/0u+de68MXggQS8B79JcJeC1z6Q7yXkdS26pMPt8AAHO74RloWNY5c6ycJfoK9dwqMRmydz3fkR3MHwEDtQTB6Ir9FanCszRCZTdHFjtgKJA/rpodkJ9sh+fKDOz8fUnBD8AgJAHDhSWxqKQqVAq+LWPlaBkqIQFAcIIJLjXpdiCMFgS2nIKQPxV/u9gUdTnWw7PDhxY/TlAggmpvcSTGqJiWs71tFLC06/3X9+vb55ST8keaimNiQwJyXhZEwh5J+3BAM2+Bgz0n8AABxrOgABK3LUAQ2K5D4cTOsb5Is3aXrJ0sdsyryBQ4EDgQOBA4EA8B8oBBdo5QFGEE7+eiVxjVqlk9nShZkYKC8oR9XXZAuBFruwJF3wACsoSabHODkmgiDVVPj8ZGPxXNQOnbIlhL3AgcCBw4LfBgXJAQbOZULNCgrm+iaA6k7PcJB+5xAhSV4d8Gmxq2hn7TJ5h8hcgkXq+Os8I1wYOBA4EDqzuHIgFChqdTbGK1f0lhPYFDgQOBA5kMwfSAgUunUJZFtkS2M5mJoa6BQ4EDgQOrM4cSAsUvtG4ofjPhpiFr1PYBg4EDgQOBA6sOg5UChRUBesCoCBmwD/7/AcKHAgcCBwIHFj9OVAloFj92RBaGDgQOBA4EDiQjgMBKNJxJhwPHAgcCBwIHHAcCEAROkLgQOBA4EDgQIUcCEBRIXvCycCBwIHAgcCBABShDwQOBA4EDgQOVMiBABQVsiecDBwIHAgcCBzIWqBY1em3YRmPMBgCBwIHAgfiOZCVQJE6X6OuQANw8P+5ubnGf6DAgcCBwIHAgbIcyDqgACSYCT5z4WJbXLBqVrBt3jTX2q2ztlvKPIBF2Q4S9gIHAgcCB7IOKAAJlhefumCZ9dyxW2LZcLfAOAuFu5+dSH4m9pM/d5d8kywkruXGuUIfOe6j9HK3zDgnkguOuxP8KNLIT8ZYp5bN3I+387sXgVZvDuTn54ffSV+9X3FoXS1zIOuAgkUI5+v3J6YvLrT9du7mfi+ilttcprgFCxbYGx+PsfZrN7FWrVq55cfLXFDLOwipAw880JU6ZMgQ69KlSy0/YfUvbujQoTZo0CDr2LGjDR8+vFoN7tu3r40ePdp69eplAwcOrNa92XYxv9A4YcIEGzNmjM2YMcO6du1q3bp1s3bt2mVbVUN9GjgHsg4oCvQ7GL/ql+1+XlxgB+y6vRPedcljQOm1Dz+3Dms3tfXWW8+aNm1al4+z6dOnW/fu3d0zRowYYVtssUWdPm91LPyRRx6xAQMGWIcOHWzUqFFVbiK/a7Lttts61ya/Q4KAbahJDGPHjrU+ffrYPP2Ubyr17t3b+vfvX+dKT+pzw/7qy4H/AQWRUTQxXU5hAAAAAElFTkSuQmCC" + } + }, + "cell_type": "markdown", + "id": "4b77ea2d", + "metadata": {}, + "source": [ + "![%E6%88%AA%E5%B1%8F2023-01-02%2017.30.55.png](attachment:%E6%88%AA%E5%B1%8F2023-01-02%2017.30.55.png)" + ] + }, + { + "cell_type": "markdown", + "id": "def89247", + "metadata": {}, + "source": [ + "Then double click the `chromrdriver` file, wait until it shows \n", + "\n", + "`ChromeDriver was started successfully.`\n", + "\n", + "Now, you can copy the file path of the driver as a parameter used following function.\n" + ] + }, + { + "cell_type": "markdown", + "id": "1af9a6d8", + "metadata": {}, + "source": [ + "#### Keyboard Shortcut for copying file path: \n", + " ##### - windows: \n", + " \n", + " Press `Shift` + `Right Click` and simply click on `Copy as path`. OR \n", + " \n", + " Press `ALT` + `D`, the path will appear, highlighted. `Right click` over the highlighted text and select copy.\n", + " \n", + " ##### - mac:\n", + " \n", + " Press `command` + `option` + `c`." + ] + }, + { + "cell_type": "markdown", + "id": "f44981ba", + "metadata": {}, + "source": [ + "## III. Related Project" + ] + }, + { + "cell_type": "markdown", + "id": "ffdb792c", + "metadata": {}, + "source": [ + "We have also found another project in regards to steam data scraping using `API`. \n", + "\n", + "If you are interested in API, you may also have a look at this project:\n", + "\n", + "`https://nik-davis.github.io/posts/2019/steam-data-collection/`" + ] + }, + { + "cell_type": "markdown", + "id": "74abc253", + "metadata": {}, + "source": [ + "## IV. API attempt" + ] + }, + { + "cell_type": "markdown", + "id": "1c949a13", + "metadata": {}, + "source": [ + "To begin with, we would like to use the method used in abovementioned projects in terms of gathering Steam game item data by using API provided by another website called `SteamSpy` `(https://steamspy.com/)`. \n", + "\n", + "However, SteamSpy can provide a lot of useful information, but the data does match our expectation. Therefore, we ultimately used another way, but we would still like to share our attempt to scrape data via API.\n", + "\n", + "For detail information about SteamSpy API, please refer to `https://steamspy.com/api.php`." + ] + }, + { + "cell_type": "code", + "execution_count": 117, + "id": "a905e23d", + "metadata": {}, + "outputs": [], + "source": [ + "url_test = 'https://steamspy.com/api.php'\n", + "parameters = {\"request\": \"top100in2weeks\"} # more parameters can be found on https://steamspy.com/api.php.\n", + "response = requests.get(url=url_test, params=parameters)\n", + "json_data = response.json()\n", + "df = pd.DataFrame.from_dict(json_data, orient='index')\n", + "app_list = df.reset_index(drop=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 118, + "id": "6d814d7e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
appidnamedeveloperpublisherscore_rankpositivenegativeuserscoreownersaverage_foreveraverage_2weeksmedian_forevermedian_2weekspriceinitialpricediscountccu
0570Dota 2ValveValve15867763301920200,000,000 .. 500,000,0004044715609761084000581998
1730Counter-Strike: Global OffensiveValve, Hidden Path EntertainmentValve6082011800798050,000,000 .. 100,000,0002960877163812710001063175
2578080PUBG: BATTLEGROUNDSKRAFTON, Inc.KRAFTON, Inc.1213688917683050,000,000 .. 100,000,000228566486688189000343480
31063730New WorldAmazon GamesAmazon Games17449175525050,000,000 .. 100,000,000825714543567131139993999035651
41172470Apex LegendsRespawn EntertainmentElectronic Arts48327892741050,000,000 .. 100,000,0006705746605362000336459
\n", + "
" + ], + "text/plain": [ + " appid name \\\n", + "0 570 Dota 2 \n", + "1 730 Counter-Strike: Global Offensive \n", + "2 578080 PUBG: BATTLEGROUNDS \n", + "3 1063730 New World \n", + "4 1172470 Apex Legends \n", + "\n", + " developer publisher score_rank positive \\\n", + "0 Valve Valve 1586776 \n", + "1 Valve, Hidden Path Entertainment Valve 6082011 \n", + "2 KRAFTON, Inc. KRAFTON, Inc. 1213688 \n", + "3 Amazon Games Amazon Games 174491 \n", + "4 Respawn Entertainment Electronic Arts 483278 \n", + "\n", + " negative userscore owners average_forever \\\n", + "0 330192 0 200,000,000 .. 500,000,000 40447 \n", + "1 800798 0 50,000,000 .. 100,000,000 29608 \n", + "2 917683 0 50,000,000 .. 100,000,000 22856 \n", + "3 75525 0 50,000,000 .. 100,000,000 8257 \n", + "4 92741 0 50,000,000 .. 100,000,000 6705 \n", + "\n", + " average_2weeks median_forever median_2weeks price initialprice discount \\\n", + "0 1560 976 1084 0 0 0 \n", + "1 771 6381 271 0 0 0 \n", + "2 648 6688 189 0 0 0 \n", + "3 1454 3567 1311 3999 3999 0 \n", + "4 746 605 362 0 0 0 \n", + "\n", + " ccu \n", + "0 581998 \n", + "1 1063175 \n", + "2 343480 \n", + "3 35651 \n", + "4 336459 " + ] + }, + "execution_count": 118, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "app_list.head()" + ] + }, + { + "cell_type": "markdown", + "id": "a4d9170e", + "metadata": {}, + "source": [ + "## V. Steam data scraping" + ] + }, + { + "cell_type": "markdown", + "id": "5946fb18", + "metadata": {}, + "source": [ + "### Get urls" + ] + }, + { + "cell_type": "markdown", + "id": "60ed8996", + "metadata": {}, + "source": [ + "Since the Steam leaderboard section is a `dynamically updated web page`, we use the selenium library in python to simulate access to the web page and thus obtain the leaderboard section" + ] + }, + { + "cell_type": "markdown", + "id": "2054664e", + "metadata": {}, + "source": [ + "We found that Steam's leaderboard requires a click on the `See all 100` button at the bottom in order to load to show all the top 100 games. We therefore used `find_element_by_xpath()` to locate the button element and used `click()` to complete the automatic click." + ] + }, + { + "cell_type": "markdown", + "id": "af8d2ec9", + "metadata": {}, + "source": [ + "Since the code performs the click before the page is loaded, the above approach does not work. We therefore chose to use Selenium's `explicit wait` to wait for the page to finish loading before performing the click" + ] + }, + { + "cell_type": "code", + "execution_count": 119, + "id": "1d2d6140", + "metadata": {}, + "outputs": [], + "source": [ + "def get_links (url, chromedriver_path): # chromedriver_path is the location of your chromedriver file \n", + " s = Service(chromedriver_path)\n", + " driver = webdriver.Chrome(service=s) \n", + " driver.get(url)\n", + " element = WebDriverWait(driver, 10).until(\n", + " EC.presence_of_element_located((By.XPATH, \"//*[@id='application_root']/div/div/div/div/div[4]/div/button\"))\n", + " )\n", + " element.click()\n", + " \n", + " time.sleep(10)\n", + " html = driver.page_source\n", + " soup = BeautifulSoup(html, \"html.parser\")\n", + "\n", + " data = soup.find_all('tr',{'class':'weeklytopsellers_TableRow_2-RN6'})\n", + "\n", + " top_100 = []\n", + " for d in data:\n", + " link = d.find('a', {'class':'weeklytopsellers_TopChartItem_2C5PJ'})\n", + " top_100.append(link['href'])\n", + "\n", + " return top_100" + ] + }, + { + "cell_type": "markdown", + "id": "1ee8c45a", + "metadata": {}, + "source": [ + "### Get Game detail" + ] + }, + { + "cell_type": "markdown", + "id": "6744379a", + "metadata": {}, + "source": [ + " We plan to get `game title`, `genre`, `developer`, `publisher`, `release data`, `review scores`, `votes`, `user defined tags`, `platform supported` and if the game is `VR supported`." + ] + }, + { + "cell_type": "code", + "execution_count": 120, + "id": "fc1eb3fb", + "metadata": {}, + "outputs": [], + "source": [ + "def get_details (urls):\n", + " detail_list = []\n", + " for url in urls:\n", + " response = requests.get(url)\n", + " soup = BeautifulSoup(response.text, 'html.parser')\n", + " \n", + "# get game title \n", + " try:\n", + " game_title = soup.find('div', {'class':'details_block'}).b.next_sibling.strip()\n", + " except:\n", + " game_title = ''\n", + "\n", + "# get game genre \n", + " try:\n", + " list1 = soup.find('div', {'id':'genresAndManufacturer', 'class':'details_block'}).text.split('Genre: ')\n", + " genre = list1[1].split('\\n\\n')[0]\n", + " except:\n", + " genre = ''\n", + "\n", + "# get game developer \n", + " try:\n", + " list2 = soup.find('div', {'id':'genresAndManufacturer', 'class':'details_block'}).text.split('Developer:\\n')\n", + " developer = dev = list2[1].split('\\n\\n\\n')[0]\n", + " except:\n", + " developer = ''\n", + "\n", + "# get publisher\n", + " try:\n", + " publisher = soup.find('div', {'id':'genresAndManufacturer', 'class':'details_block'}).text.split('\\n')[9]\n", + " except:\n", + " publisher = ''\n", + " \n", + "# get release date\n", + " try:\n", + " release_date = soup.find('div', {'id':'genresAndManufacturer', 'class':'details_block'}).text.split('Release Date:')[1].replace('\\n', '').strip()\n", + " except:\n", + " release_date = ''\n", + " \n", + " \n", + "# get all reviews\n", + " try:\n", + " all_reviews = soup.find('span', {'itemprop':'description'}).text\n", + " except:\n", + " all_reviews = ''\n", + " \n", + "# get all votes\n", + " try:\n", + " all_votes = soup.find('span', {'class':'responsive_hidden'}).text.replace('\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(', '').replace(')\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t', '')\n", + " except:\n", + " all_votes = ''\n", + " \n", + " \n", + "# get user defined tags \n", + " try:\n", + " info2 = soup.find('div', {'data-panel':'{\"flow-children\":\"row\"}', 'class':'glance_tags popular_tags'})\n", + " tag_list = info2.find_all('a')\n", + " tags = []\n", + " for t in tag_list:\n", + " text = t.text.replace('\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t', '')\n", + " tags.append(text.replace('\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t', ''))\n", + " tags = tags[0:5]\n", + " user_defined_tags = ', '.join(tags)\n", + " except:\n", + " user_defined_tags = ''\n", + " \n", + "# platform and vr supported\n", + " try:\n", + " win_list = soup.find_all('span', {'class':'platform_img win'})\n", + " win = ''\n", + " if win_list:\n", + " win = 'Yes'\n", + " else:\n", + " win = 'No'\n", + "\n", + " mac_list = soup.find_all('span', {'class':'platform_img mac'})\n", + " mac = ''\n", + " if mac_list:\n", + " mac = 'Yes'\n", + " else:\n", + " mac = 'No'\n", + "\n", + " linux_list = soup.find_all('span', {'class':'platform_img linux'})\n", + " linux = ''\n", + " if linux_list:\n", + " linux = 'Yes'\n", + " else:\n", + " linux = 'No'\n", + "\n", + " vr_list = soup.find_all('span', {'class':'vr_supported'})\n", + " vr = ''\n", + " if vr_list:\n", + " vr = 'Yes'\n", + " else:\n", + " vr = 'No'\n", + " except:\n", + " win = ''\n", + " mac = ''\n", + " linux = ''\n", + " vr = ''\n", + " \n", + "# get list\n", + " detail = [game_title, genre, developer, publisher, release_date, all_reviews, all_votes, user_defined_tags, win, mac, linux, vr]\n", + " detail_list.append(detail)\n", + "\n", + " return detail_list" + ] + }, + { + "cell_type": "markdown", + "id": "b451f9e0", + "metadata": {}, + "source": [ + "### Get csv file" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "347d2402", + "metadata": {}, + "outputs": [], + "source": [ + "def get_steam_csv (urls, filename):\n", + " df = pd.DataFrame(get_details (urls))\n", + " df.columns = ['Game_Title', 'Genre', 'Developer','Publisher', 'Release_Date', 'All_Reviews', \n", + " 'All_Votes', 'User_Defined_Tags', 'Win', 'Mac', 'Linux', 'VR_Supported']\n", + " return df.to_csv(filename, encoding='utf-8')" + ] + }, + { + "cell_type": "markdown", + "id": "dd08ceea", + "metadata": {}, + "source": [ + "### Data Cleaning" + ] + }, + { + "cell_type": "markdown", + "id": "714e616a", + "metadata": {}, + "source": [ + "After observing the exported files, we have found that due to website structure and some other reasons, there are some empty rows in the file. Meanwhile, some release dates are attached with `Early Access`. All these will cause troubles during data describing the process. Therefore, a data-cleaning process is necessary. " + ] + }, + { + "cell_type": "code", + "execution_count": 122, + "id": "44a91568", + "metadata": {}, + "outputs": [], + "source": [ + "def data_clean(csv_path):\n", + " df = pd.read_csv(csv_path, encoding = 'utf-8').dropna().drop(columns=['Unnamed: 0'])\n", + " df['Release_Date'] = df['Release_Date'].replace('Early Access', '', regex=True)\n", + " return df" + ] + }, + { + "cell_type": "markdown", + "id": "317eaafa", + "metadata": {}, + "source": [ + "### Get labels" + ] + }, + { + "cell_type": "markdown", + "id": "c21a8f8b", + "metadata": {}, + "source": [ + "In columns such as `Genre` and `Use_Defined_Tages` there are two or more labels, therefore in this step we need to split these cells to generate a new Dataframe to assist in the subsequent part of the description of the data.\n", + "\n", + "In later practice we find that there could be spaces before and after some data, which could affect subsequent analysis and calculations, so we remove the spaces here in the output of the labels." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "f137eb1e", + "metadata": {}, + "outputs": [], + "source": [ + "def get_labels(df, column):\n", + " labels = df[column].str.split(',', expand=True)\n", + " return labels.apply(lambda x: x.str.strip() if x.dtype == \"object\" else x)" + ] + }, + { + "cell_type": "markdown", + "id": "26f9ffd5", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "ba29b4ad", + "metadata": {}, + "source": [ + "## VI. Visualisation" + ] + }, + { + "cell_type": "markdown", + "id": "7dc9d55a", + "metadata": {}, + "source": [ + "Here we take Global, China, Japan and the Netherlands as an example." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "d37f97bf", + "metadata": {}, + "outputs": [], + "source": [ + "folder_path = 'data/'\n", + "csv_files = [file for file in os.listdir('data/') if file.endswith('.csv')]\n", + "\n", + "# You may change the files to the ones you would like to compare. \n", + "csv_files = [file for file in csv_files if file in [\"Steam_Games_Top100_CN_w_c_20Dec.csv\", \n", + " \"Steam_Games_Top100_GL_w_c_20Dec.csv\", \n", + " \"Steam_Games_Top100_JP_w_c_20Dec.csv\", \n", + " \"Steam_Games_Top100_NL_w_c_20Dec.csv\"]]\n", + "\n", + "dataframes = []\n", + "for file in csv_files:\n", + " file_path = os.path.join(folder_path, file)\n", + " df = pd.read_csv(file_path)\n", + " dataframes.append(df)\n", + "\n", + "df=pd.concat(dataframes)\n", + "df=df[[\"Game_Title\",\"Genre\"]]\n", + "d1={}\n", + "all_types=[]\n", + "for index, row in df.iterrows():\n", + " if(row[\"Genre\"]==row[\"Genre\"]):\n", + " name=row[\"Game_Title\"]\n", + " x=row[\"Genre\"]\n", + " x2=x.split(\",\")\n", + " x3=[data.strip(\" \") for data in x2]\n", + " d1[name]=x3\n", + " all_types.extend(x3)\n", + "all_types=[type for type in set(all_types)]\n", + "\n", + "\n", + "ds=[]\n", + "d_last={}\n", + "for df in dataframes:\n", + " d={}\n", + " for str in df[\"Genre\"]:\n", + " for type in all_types:\n", + " if(str==str):\n", + " if(type in str):\n", + " if(type in d.keys()):\n", + " d[type]+=1\n", + " else:\n", + " d[type]=1\n", + " ds.append(d)\n", + "l=[]\n", + "for type in all_types:\n", + " l2=[]\n", + "\n", + " for d in ds:\n", + " if(type in d.keys()):\n", + " l2.append(d[type])\n", + " else:\n", + " l2.append(0)\n", + " l.append(l2)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "f7b12b0a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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BM2iOvseS1qCRbOksUjyD1m8ZfMSb31nm63p8if5h+5Hj0+azWmmyvmRvrPNVpbc8nv07RvL4XNP97t4E81Uhxe2863Hnm++/I5JKyOnZ0iSJEkd5mykOcnWSc4aebs6ycuTrJ/khCS/bN+v1/3ZJEmSpP6MZaS5bdv0e5pV4gcCf6qqdyQ5CFivqv5tzkNIkiRJS2lcRfNewBurarckPwceWlWXJrkb8L2q2nqmx2+44Ya1aNGiOc8pSZKkldvpp5/+x6paOPn4uLbRfjpN/01odvK6FJrm/Gk3U5jJokWLOO200+YynyRJkkSSi6c6PufdM9LsOvZ4lmy8PpvH7Z/ktCSnXXHFFXMTTpIkSZqFcbScexRwRlVd1t6+rJ2WQfv+8qkeVFUfrapdqmqXhQtvM0IuSZIkjc04iuZ9WTw1A5otZPdrP94POGYMGSRJkqSlNqdzmpPcEXgE8KKRw+8AjkryfOC3wFOX5nPfeOONXHLJJdxwww3LHnQFt2DBAjbZZBNWX331vqNIkiTNS3NaNFfV9cAGk45dCey5rJ/7kksuYZ111mHRokUkWdZPt8KqKq688kouueQSNt98877jSJIkzUvzdhvtG264gQ022MCCuUMSNthgA0fkJUmSlsG8LZoBC+ZZ8vskSZK0bOZ10dy3P/zhDzz96U9nyy23ZLvttuPRj340v/jFL0jCIYcccuv9XvziF/PpT3+6v6CSJElaJuPa3GTOLTrouOX6+S56x2NmPF9VPPGJT2S//fbj85//PABnnXUWl112GXe5y134wAc+wIte9CLWWGON5ZpLkiRJ4+dI81L67ne/y+qrr84BBxxw67GddtqJe9zjHixcuJA999yTQw89tMeEkiRJWl4smpfSueeey8477zzt+YMOOoj3vOc93HzzzWNMJUmSpLlg0TxHNt98c+5///tz+OGH9x1FkiRJy8iieSltv/32nH766TPe53Wvex3vfOc7ueWWW8aUSpIkSXPBonkp7bHHHvztb3/jYx/72K3HTj31VC6++OJbb2+zzTZst912fO1rX+sjoiRJkpYTi+allISjjz6aE044gS233JLtt9+egw8+mLvf/e5L3O/1r389l1xySU8pJUmStDysMC3nulrEzYW73/3uHHXUUbc5fu6559768Y477uj0DEmSpHnOkWZJkiSpg0WzJEmS1MGiWZIkSeqwwsxpliRJ0hgdfKeO81eNJ8eYONIsSZIkdbBoliRJkjpYNC+Dyy67jGc84xlsscUW7LzzzjzoQQ/i6KOP5nvf+x6Pfexjb3P/8847jz322IN73etebLXVVrzlLW+hqgD49Kc/zcKFC9lpp53YfvvtecpTnsL111+/xON33HFH9t133yWOPfe5z+WLX/zi3P0jJUmStALNae6aV3O7P9/M83Cqir333pv99tuPww8/HICLL76YY489lvXWW+829//rX//K4x//eD784Q+z1157cf311/PkJz+Z//7v/+bAAw8EYJ999uGDH/wgAM94xjM48sgjed7zngfA+eefzy233MLJJ5/Mddddx1prrbU8/7WSJEmagSPNS+k73/kOa6yxBgcccMCtxzbbbDNe8pKXTHn/ww8/nN1224299toLgDve8Y588IMf5B3veMdt7nvTTTdx3XXXLVF8H3744Tz72c9mr7324thjj13O/xpJkiTNxKJ5KZ133nnc7373u13333nnnZc4tuWWW3Lttddy9dVXA3DkkUey0047sfHGG/OnP/2Jxz3ucbfe98gjj2SfffZh33335Ygjjlg+/whJkiTNikXzcnLggQey4447suuuu055vqpIMuW5ieP77LMPZ511Fn/4wx/YYYcdeNe73gXAqaeeysKFC9lss83Yc889OeOMM/jzn/88N/8QSZIk3YZF81LafvvtOeOMM269/aEPfYgTTzyRK664Ytr7n3baaUscu/DCC1l77bVZZ511ljiehMc97nGcfPLJABxxxBFccMEFLFq0iC233JKrr76aL33pS8v5XyRJkqTpWDQvpT322IMbbriBD3/4w7cem9ztYtQzn/lMTjnlFL797W8DzcLAl770pbzmNa+Z8v6nnHIKW265Jbfccgtf+MIXOPvss7nooou46KKLOOaYY5yiIUmSNEYWzUspCV/5ylc46aST2Hzzzbn//e/Pfvvtxzvf+U4ATjzxRDbZZJNb38466yyOOeYY3vrWt7L11luzww47sOuuu/LiF7/41s85Maf5Pve5D2eeeSb//u//zsknn8zGG2/MxhtvfOv9HvKQh/Czn/2MSy+9FIAXvehFt36dBz3oQeP9RkiSJK0EMtEneMh22WWXmjy14fzzz2fbbbftKdH84/dLkiQtVyvoNtpJTq+qXSYfX3H6NEuSJGm5WXTQcTOev2jBmIIMhNMzJEmSpA4WzZIkSVIHi2ZJkiSpg0WzJEmS1MGiWZIkSepg0bwM1l57bS666CLWXHNNdtppJ7bbbjsOOOAAbrnllr6jSZIkaTlaYVrO7XDoDsv1852z3zmzvu+WW27JWWedxU033cQee+zBV77yFZ70pCct1zySJEnqjyPNy9Fqq63Ggx/8YH71q1/1HUWSJEnLkUXzcnT99ddz4oknssMOy3fUW5IkSf1aYaZn9OnXv/41O+20E0l4whOewKMe9ai+I0mSJGk5smheDibmNEuSJGnF5PQMSZIkqYNF81K66aabuMMd7tB3DEmSJI3BCjM94/a0iFsezjvvPLbccksWLVrEueeeO9avLUmSpPFypHkpfOQjH2HfffflrW99a99RJEmSNAYrzEjzOB1wwAEccMABfceQJEnSmDjSLEmSJHWwaJYkSZI6WDRLkiRJHSyaJUmSpA4WzcsgCa961atuvf3ud7+bgw8+GICDDz6Yd7/73T0lkyRJ0vK0wnTPOH+bbZfr59v2gvM773OHO9yBL3/5y7z2ta9lww03XK5fX5IkScPhSPMyWG211dh///153/ve13cUSZIkzSGL5mV04IEH8rnPfY6rrrqq7yiSJEmaIyvM9Iy+rLvuujznOc/hv/7rv1hzzTX7jiNJkjQIOxy6w7TnztnvnDEmWT4caV4OXv7yl/OJT3yC6667ru8okiRJmgNzWjQnuXOSLya5IMn5SR6UZP0kJyT5Zft+vbnMMA7rr78+T3va0/jEJz7RdxRJkiTNgbkeaf4A8M2q2gbYETgfOAg4saq2Ak5sb897r3rVq/jjH/+4xLG3vvWtbLLJJre+SZIkaX6asznNSdYFHgI8F6Cq/g78PckTgIe2dzsU+B7wb8v69WbTIm55u/baa2/9eKONNuL666+/9fbBBx98a89mSZIkzW9zOdK8BXAF8KkkZyb5eJK1gI2q6lKA9v1d5jCDJEmStMzmsnvGasD9gJdU1Y+TfIDbMRUjyf7A/gCbbrrp3CSUJEnS2HVtStfHDIIucznSfAlwSVX9uL39RZoi+rIkdwNo318+1YOr6qNVtUtV7bJw4cI5jClJkiTNbM6K5qr6A/C7JFu3h/YEfgYcC+zXHtsPOGYZvsYyZVxZ+H2SJElaNnO9uclLgM8lWQO4EHgeTaF+VJLnA78Fnro0n3jBggVceeWVbLDBBiRZboFXNFXFlVdeyYIFC/qOIkmSNG/NadFcVWcBu0xxas9l/dybbLIJl1xyCVdcccWyfqoV3oIFC2x5J0mStAzm7Tbaq6++OptvvnnfMSRJkrQScBttSZIkqYNFsyRJktTBolmSJEnqYNEsSZIkdbBoliRJkjpYNEuSJEkdLJolSZKkDhbNkiRJUgeLZkmSJKmDRbMkSZLUwaJZkiRJ6mDRLEmSJHWwaJYkSZI6WDRLkiRJHSyaJUmSpA4WzZIkSVIHi2ZJkiSpg0WzJEmS1MGiWZIkSepg0SxJkiR1sGiWJEmSOlg0S5IkSR0smiVJkqQOFs2SJElSB4tmSZIkqYNFsyRJktTBolmSJEnqYNEsSZIkdbBoliRJkjpYNEuSJEkdLJolSZKkDhbNkiRJUgeLZkmSJKmDRbMkSZLUwaJZkiRJ6mDRLEmSJHWwaJYkSZI6WDRLkiRJHSyaJUmSpA4WzZIkSVIHi2ZJkiSpg0WzJEmS1MGiWZIkSepg0SxJkiR1sGiWJEmSOlg0S5IkSR0smiVJkqQOFs2SJElSB4tmSZIkqYNFsyRJktTBolmSJEnqYNEsSZIkdVhtLj95kouAa4CbgZuqapck6wNHAouAi4CnVdWf5zKHJEmStCzGMdL8sKraqap2aW8fBJxYVVsBJ7a3JUmSpMHqY3rGE4BD248PBfbuIYMkSZI0a3NdNBdwfJLTk+zfHtuoqi4FaN/fZY4zSJIkSctkTuc0A7tV1f8muQtwQpILZvvAtsjeH2DTTTedq3ySJElSpzkdaa6q/23fXw4cDdwfuCzJ3QDa95dP89iPVtUuVbXLwoUL5zKmJEmSNKM5K5qTrJVknYmPgb2Ac4Fjgf3au+0HHDNXGSRJkqTlYS6nZ2wEHJ1k4uscXlXfTHIqcFSS5wO/BZ46hxkkSZKkZTZnRXNVXQjsOMXxK4E95+rrSpIkScubOwJKkiRJHSyaJUmSpA4WzZIkSVIHi2ZJkiSpg0WzJEmS1MGiWZIkSepg0SxJkiR1sGiWJEmSOlg0S5IkSR0smiVJkqQOFs2SJElSB4tmSZIkqYNFsyRJktTBolmSJEnqYNEsSZIkdbBoliRJkjpYNEuSJEkdLJolSZKkDhbNkiRJUgeLZkmSJKnDan0HkCRpXjr4Th3nrxpPDklj4UizJEmS1MGiWZIkSepg0SxJkiR1sGiWJEmSOlg0S5IkSR3sniFJUg/O32bbac9te8H5Y0wiaTYcaZYkSZI6WDRLkiRJHSyaJUmSpA4WzZIkSVIHi2ZJkiSpg0WzJEmS1MGiWZIkSepg0SxJkiR1sGiWJEmSOlg0S5IkSR0smiVJkqQOFs2SJElSB4tmSZIkqYNFsyRJktTBolmSJEnqYNEsSZIkdbBoliRJkjqs1ncAadQOh+4w4/lz9jtnTEkkSZIWc6RZkiRJ6mDRLEmSJHWwaJYkSZI6WDRLkiRJHSyaJUmSpA4WzZIkSVIHW85JkjSNRQcdN+25ixaMMYik3jnSLEmSJHWY86I5yapJzkzytfb2+klOSPLL9v16c51BkiRJWhbjGGl+GXD+yO2DgBOraivgxPa2JEmSNFhzWjQn2QR4DPDxkcNPAA5tPz4U2HsuM0iSJEnLaq5Hmt8PvAa4ZeTYRlV1KUD7/i5znEGSJElaJnNWNCd5LHB5VZ2+lI/fP8lpSU674oorlnM6SZIkafbmcqR5N+DxSS4CPg/skeSzwGVJ7gbQvr98qgdX1Uerapeq2mXhwoVzGFOSJEma2ZwVzVX12qrapKoWAU8HvlNVzwKOBfZr77YfcMxcZZAkSZKWhz76NL8DeESSXwKPaG9LkiRJgzWWHQGr6nvA99qPrwT2HMfXlSRJkpYHdwSUJEmSOlg0S5IkSR0smiVJkqQOFs2SJElSB4tmSZIkqYNFsyRJktTBolmSJEnqYNEsSZIkdbBoliRJkjpYNEuSJEkdLJolSZKkDrMqmpPsNptjkiRJ0opotiPNh8zymCRJkrTCWW2mk0keBDwYWJjklSOn1gVWnctgkiRJ0lDMWDQDawBrt/dbZ+T41cBT5iqUJEmSNCQzFs1VdRJwUpJPV9XFY8okSZIkDUrXSPOEOyT5KLBo9DFVtcdchJIkSZKGZLZF8xeAjwAfB26euziSJEnS8My2aL6pqj48p0kkSZKkgZpty7mvJvmXJHdLsv7E25wmkyRJkgZitiPN+7Xv/3XkWAFbLN84kiStGHY4dIcZzx81phySlo9ZFc1VtflcB5EkSZKGalZFc5LnTHW8qj6zfONIkiRJwzPb6Rm7jny8ANgTOAOwaJYkSdIKb7bTM14yejvJnYDD5iSRJEmSNDCz7Z4x2fXAVssziCRJkjRUs53T/FWabhkAqwLb4sJfSZIkrSRmO6f53SMf3wRcXFWXzEEeSZIkaXBmNT2jqk4CLgDWAdYD/j6XoSRJkqQhmVXRnORpwE+ApwJPA36c5ClzGUySJEkaitlOz3g9sGtVXQ6QZCHwbeCLcxVMkiRJGorZds9YZaJgbl15Ox4rSZIkzWuzHWn+ZpJvAUe0t/cBvj43kSRJkqRhmbFoTnJPYKOq+tckTwJ2BwL8EPjcGPJJkiRJveuaYvF+4BqAqvpyVb2yql5BM8r8/rmNJkmSJA1DV9G8qKrOnnywqk4DFs1JIkmSJGlguormBTOcW3N5BpEkSZKGqqtoPjXJCycfTPJ84PS5iSRJkiQNS1f3jJcDRyd5JouL5F2ANYAnzmEuSZIkaTBmLJqr6jLgwUkeBty7PXxcVX1nzpNJkiRJAzGrPs1V9V3gu3OcRZIkSRokd/WTJEmSOlg0S5IkSR0smiVJkqQOs5rTLC03B99p5vObbzqeHJIkSbeDI82SJElSB4tmSZIkqYNFsyRJktTBolmSJEnqYNEsSZIkdbB7huaV87fZdtpz215w/hiTSJKklYkjzZIkSVIHi2ZJkiSpw5wVzUkWJPlJkp8mOS/Jm9rj6yc5Ickv2/frzVUGSZIkaXmYy5HmvwF7VNWOwE7AI5M8EDgIOLGqtgJObG9LkiRJgzVnRXM1rm1vrt6+FfAE4ND2+KHA3nOVQZIkSVoe5nROc5JVk5wFXA6cUFU/BjaqqksB2vd3mcsMkiRJ0rKa05ZzVXUzsFOSOwNHJ7n3bB+bZH9gf4BNN910bgJK0nK26KDjZjx/0TseM6YkkqTlaSzdM6rqL8D3gEcClyW5G0D7/vJpHvPRqtqlqnZZuHDhOGJKkiRJU5rL7hkL2xFmkqwJPBy4ADgW2K+9237AMXOVQZIkSVoe5nJ6xt2AQ5OsSlOcH1VVX0vyQ+CoJM8Hfgs8dQ4zSJIkSctszormqjobuO8Ux68E9pyrrytJkiQtb+4IKEmSJHWY0+4ZkiT16fxttp3x/LYXnD+mJJLmO0eaJUmSpA4WzZIkSVIHi2ZJkiSpg0WzJEmS1MGiWZIkSepg9wwtV4sOOm7G8xctGFMQSZKk5ciRZkmSJKmDRbMkSZLUwaJZkiRJ6mDRLEmSJHWwaJYkSZI6WDRLkiRJHSyaJUmSpA4WzZIkSVIHi2ZJkiSpg0WzJEmS1MGiWZIkSepg0SxJkiR1sGiWJEmSOlg0S5IkSR0smiVJkqQOFs2SJElSB4tmSZIkqYNFsyRJktRhtb4DSJJWbosOOm7G8xcteMaM53fYfNNpzx21VIkk6bYcaZYkSZI6WDRLkiRJHSyaJUmSpA4WzZIkSVIHi2ZJkiSpg0WzJEmS1MGiWZIkSepg0SxJkiR1sGiWJEmSOlg0S5IkSR0smiVJkqQOq/UdQJLU2OHQHWY8f85+54wpiSRpMkeaJUmSpA4WzZIkSVIHi2ZJkiSpg0WzJEmS1MGiWZIkSepg0SxJkiR1sGiWJEmSOlg0S5IkSR0smiVJkqQOFs2SJElSB4tmSZIkqcNqfQeQpJXKwXea/tzmm8740PO32XbG89tecP7SJJIkzYIjzZIkSVKHOSuak9wjyXeTnJ/kvCQva4+vn+SEJL9s3683VxkkSZKk5WEuR5pvAl5VVdsCDwQOTLIdcBBwYlVtBZzY3pYkSZIGa86K5qq6tKrOaD++Bjgf2Bh4AnBoe7dDgb3nKoMkSZK0PIxlTnOSRcB9gR8DG1XVpdAU1sBdxpFBkiRJWlpz3j0jydrAl4CXV9XVSWb7uP2B/QE23XTmFeXz1Uwr4V0FL0mSNBxzOtKcZHWagvlzVfXl9vBlSe7Wnr8bcPlUj62qj1bVLlW1y8KFC+cypiRJkjSjueyeEeATwPlV9d6RU8cC+7Uf7wccM1cZJEmSpOVhLqdn7AY8GzgnyVntsdcB7wCOSvJ84LfAU+cwgyRJkrTM5qxorqpTgOkmMO85V19XkiRJWt7cEVCSJEnqYNEsSZIkdbBoliRJkjpYNEuSJEkdLJolSZKkDhbNkiRJUgeLZkmSJKmDRbMkSZLUYS53BFzxHXynjvNXjSeHJEmS5pQjzZIkSVIHi2ZJkiSpg0WzJEmS1MGiWZIkSepg0SxJkiR1sHvGHNrh0B1mPH/UmHJIkiRp2TjSLEmSJHWwaJYkSZI6WDRLkiRJHSyaJUmSpA4WzZIkSVIHu2dIWul0dbY5Z79zxpREkjRfONIsSZIkdbBoliRJkjpYNEuSJEkdLJolSZKkDhbNkiRJUge7Z8xg0UHHzXj+ogVjCiLp9jn4TjOf33zT8eSQNH90/d04+Krx5NBgOdIsSZIkdbBoliRJkjpYNEuSJEkdLJolSZKkDhbNkiRJUgeLZkmSJKmDLeckzUsztYS0HaQkaXlzpFmSJEnqYNEsSZIkdbBoliRJkjpYNEuSJEkdLJolSZKkDnbPkHo2UxcIgIve8ZgxJZEkLY3zt9l2xvPbXnD+mJJoLjnSLEmSJHWwaJYkSZI6WDRLkiRJHSyaJUmSpA4WzZIkSVIHu2dI0iQzrYR3FbwkrZwcaZYkSZI6WDRLkiRJHSyaJUmSpA4WzZIkSVIHi2ZJkiSpg90zJEnSCm/RQcfNeP6iBWMKonnLkWZJkiSpw5wVzUk+meTyJOeOHFs/yQlJftm+X2+uvr4kSZK0vMzlSPOngUdOOnYQcGJVbQWc2N6WJEmSBm3OiuaqOhn406TDTwAObT8+FNh7rr6+JEmStLyMe07zRlV1KUD7/i5j/vqSJEnS7TbYhYBJ9k9yWpLTrrjiir7jSJIkaSU27qL5siR3A2jfXz7dHavqo1W1S1XtsnDhwrEFlCRJkiYbd9F8LLBf+/F+wDFj/vqSJEnS7TaXLeeOAH4IbJ3kkiTPB94BPCLJL4FHtLclSZKkQZuzHQGrat9pTu05V19TkiRJmguDXQgoSZIkDcWcjTRLkiStKHY4dIdpzx01xhzqjyPNkiRJUgeLZkmSJKmDRbMkSZLUwaJZkiRJ6mDRLEmSJHWwaJYkSZI6WDRLkiRJHSyaJUmSpA4WzZIkSVIHi2ZJkiSpg0WzJEmS1MGiWZIkSeqwWt8BJC2bHQ7dYcbz5+x3zpiSaEXW9Xt21Ntvmvbcthecv7zjSNLYOdIsSZIkdbBoliRJkjpYNEuSJEkdLJolSZKkDhbNkiRJUge7Z0iS4OA7zXx+803Hk0Ozsuig42Y8f9GCZ8x4focZfp523JGm5kizJEmS1MGiWZIkSepg0SxJkiR1sGiWJEmSOlg0S5IkSR3sniFJK4mZOi5ctGCMQTRo52+z7Yznt73g/DElua0hZ9OKz5FmSZIkqYNFsyRJktTBolmSJEnqYNEsSZIkdbBoliRJkjrYPUMauoPvNPP5zTed8fRMq81daS5J0uw40ixJkiR1sGiWJEmSOlg0S5IkSR0smiVJkqQOFs2SJElSB4tmSZIkqYMt5yRJ0nh0tdA8+Krx5JCWgiPNkiRJUgeLZkmSJKmDRbMkSZLUwaJZkiRJ6mDRLEmSJHWwe4YkSVpuFh103LTnLlowxiDScuZIsyRJktTBolmSJEnqYNEsSZIkdbBoliRJkjpYNEuSJEkd7J4xT820Ohngonc8ZkxJ5g+/Z7ef3zNJ47TDoTvMeP6oMeUYtxk7jvh3djAcaZYkSZI69FI0J3lkkp8n+VWSg/rIIEmSJM3W2IvmJKsCHwIeBWwH7Jtku3HnkCRJkmarj5Hm+wO/qqoLq+rvwOeBJ/SQQ5IkSZqVPormjYHfjdy+pD0mSZIkDVKqarxfMHkq8E9V9YL29rOB+1fVSybdb39g//bm1sDPxxp0ahsCf+w7xDSGmm2ouWC42YaaC4abbai5YLjZhpoLzLY0hpoLhpttqLlguNmGmmt526yqFk4+2EfLuUuAe4zc3gT438l3qqqPAh8dV6jZSHJaVe3Sd46pDDXbUHPBcLMNNRcMN9tQc8Fwsw01F5htaQw1Fww321BzwXCzDTXXuPQxPeNUYKskmydZA3g6cGwPOSRJkqRZGftIc1XdlOTFwLeAVYFPVtV5484hSZIkzVYvOwJW1deBr/fxtZfRoKaLTDLUbEPNBcPNNtRcMNxsQ80Fw8021FxgtqUx1Fww3GxDzQXDzTbUXGMx9oWAkiRJ0nzjNtqSJElSB4tmSZIkqUMvc5q17JK8corDVwGnV9VZY44zLyS5A/BkYBEjv/tV9ea+MmnpJPkS8EngG1V1S9955psk6wH3qKqz+84ijUOSVYCzq+refWfR/GXR3CHJvavq3L5zTGGX9u2r7e3H0LTzOyDJF6rqP3tLNlzH0L6wAP7Wc5Z5Ick5wOSFD1cBpwFvraorx58KgA8DzwP+K8kXgE9X1QU9ZZlWkrWq6rq+cwAk+R7weJq/+2cBVyQ5qaqmegHeiyQP5rYvaj/TW6BWkjWBTatqCJtsTckXQjOrqluS/DTJplX1277zTJZkS+CSqvpbkocC9wE+U1V/6TmXg00jXAjYIckpwBrAp4HD+/4FnpDkW8CTq+ra9vbawBeBJ9KMNm/XQ6bdgS0mnuSSfBFYvz391qr6zrgzjUpy7tBGGZJ8ldsWpbeqqsePMc5tJPlP4Gbg8PbQ09v3VwO7V9XjegnWSnInYF/g9cDvgI8Bn62qG3vO9WDg48DaVbVpkh2BF1XVv/SY6cyqum+SF9AUV29McnZV3aevTKOSHAZsSVPQ39werqp6aW+hgCSPA94NrFFVmyfZCXhz3/83YeoXQsAgXggluYbpX3C/qqou7CHTd4BdgZ8At76YHcjP8iyagbBFNC15jwW2rqpH9xiLJN9k8WDTxP9Lquo9vYXqkSPNHapq9yRbAf8MnJbkJ8CnquqEnqNtCvx95PaNNNs+/jVJX6OobwJGt0PfGngusBbwOqDXohn4QZIdquqcnnOMenffATrsVlW7jdw+J8n/VNVuSZ7VWyogyQbAs4BnA2cCnwN2B/YDHtpfMgDeB/wT7cZNVfXTJA/pNxKrJbkb8DSaFxlDswuwXQ1vJOdg4P7A9wCq6qwki3rMM+pOVXV1+0LoUxMvhPoO1XovzW6/hwOhecF9V+DnNFOrHtpDpjf18DVn65Z2H4snAu+vqkOSnNl3KGCTqnpk3yGGwqJ5Fqrql0neQPMK+b+A+yYJ8Lqq+nJPsQ4HfpTkmPb244AjkqwF/KynTOtW1ejX/mVVnQ6Q5O09ZRq1O/DcJL+hmZ4RmpGs3kbaquqkvr72LK2d5AFV9WOAJPcH1m7P3dRXqCRfBrYBDgMeV1WXtqeOTHJaX7lGVdXvmj8Tt7p5uvuOyZtpRrBOqapTk2wB/LLnTKPOpSmqLu2645jdVFVXTfpZDsWQXwg9sqoeMHL7o0l+VFVvTvK6PgJV1UlJNgO2qqpvJ7kjzSZrQ3Bjkn1pXvRPXMFbvcc8E4Y42NQbi+YOSe5DM3fyMcAJNE/QZyS5O/BDoJeiuarekuQbwG40xd8BVTVRLDyzj0zAnUdvVNWTRm5uNN4oU3pU3wGm017NeDuwHbBg4nhVbdFbqMYLgE+2039CMy3jBe2Lsz5fCH1wuuk+VbXLuMNM4XftFI1KsgbwUuD8PgNV1ReAL4zcvpBmruJQbAj8rL2ad+vVsgFcOj83yTOAVdv/py8FftBzpglvYrgvhG5J8jSaaYMATxk518vVhCQvBPanmTa4JbAx8BFgzz7yTPI84ADgbVX1mySbA5/tORMMcLCpT85p7pDkZJq5iV+oqr9OOvfsqjqsn2SQZFWaYnR0cn5vCxza+bkfqarjJh1/LPB/quox/SRbIsuOwD+0N79fVT/tM8+Edu78G2ku6z+O5g9oquqNvQZrtXOHM5Q5/dAs0uW2LzJ6XzQGkGRD4APAw2meZI4HXtbjwsmJ+elvBf4KfBPYEXh5VQ3hiZkk/zjV8b6vxrSjka8H9moPfYtmjcYN/aVqJNmtqv6n61gf2gL+A8CDaIrkHwGvAH4P7FxVp/SQ6SyaqTY/rqr7tsfOqaodxp1lKkNccNqOzN9GVV087ixDYNE8TyV5CU2RdRnNZd/eX/0luSdwHM0ozBnt4Z2BBwOPrapf9JUNIMnLgBey+OrAE4GPVtUh/aVqJDm9qnYe/QOe5PtV9Q9dj53jXINcOZ3kjTRzIrcDvk5zFeGUqnrKTI9bmSU5q6p2audM7k1TwHy3qnbsN9liSTaiWagF8JOqurznPKsC36qqh/eZYzpJzqiq+3UdUyPJj6vqASOLYlcDzhjCqOnAF5wOcrCpD07P6JDhttx6Gc3K2t5Griarql+101meCWzfHj6ZZupI76MywPOBB1TbAizJO2mm2PReNAM3pOkj+sskL6YZjblLz5lguG36nkIzUnpmVT2vLbY+3nMmkrymqv4zySFMcQm6504QE/MjHw0cUVV/GtI83fZS/rtoFtwFOCTJv1bVF2d84ByqqpuTXJ/kTlV1VV85JkvyIJrBiIVZsmf/ugxkjm6ShTSDFItY8gX3P/eVCTipnU+9ZpJHAP/C4ratfTuY2y443bzPQDDlYNNnkwxisKkPFs3dvsH0Lbc+zeIJ++P2O5piZmgeRTNf7Piq+lbfYSYJSy7GmhihH4KXA3ekmS/5FmAPmgUhfRvqyum/VtN39aYk6wKXA33P/4bF85YHsRhxkq8muYBmesa/tEXNEF7MTng9sOvE6HKb79ssnhPblxtousacwJJtyvp8AbQGzYLc1YB1Ro5fzZJzh/t0DPB9mp9h34tgJxxEM3hyDvAimqtUvb/Ybk214HQIUwGGPNg0dhbN3YbacutC4HtJjmPJRTPv7StQkv+mGWH+AfCWJPevqrf0lWcKnwJ+nOTo9vbewCf6i7NYVZ3afngtzXzmoRjqyunTktyZpi/z6TTft5/0mgioqq+27w/tO8tkVXVQ+4R39cQIKvCEvnONWGXSdIwrgVX6CjPiuPZtMNouEKcAO1TVUNuo3bGq/q3vEJM8GvhEVX2s7yBTGOqC0yEPNo2dRXO3QbbcAn7bvq3Rvg3BQ4Ad2yfkO9KMMgymaK6q96bZDGB3mv/0z6uqIfTBJMl3mfpy/h49xBk1yJXTtXiTkI+kab6/bg1gJ7QMeLOa9v/kgTQ93vcH7k7TS/1rfWWa5JtpNm06or29D81IYK+G+AIIbp06sn73PXvztSSPrqref4Yjng58IMmXaPpa99rRZpKX0Fxt+RvN/4FvMYznz8EONvXBhYAdkuxK04h9olC+hqYN13nAY6rqqL6yDc3kBShDWZCSZN1qNgCY8gmmqv407kyTJdl55OYCmsV3N1XVa3qKBAxv5XSSGX+fquqMmc7PtZEOEE+i6Tk80ZliX+CiquqlPy1AkiNpRuWfU1X3blfq/7Cqduor02RJnsziNponV9XRHQ+Zc+0Lxqle0PY+HSjJe4CtaFoJjk4d6Wv/gFul2RFwLZoi8EYWv+Bet+dc69L8f3wezc/1UzRz/K/pM9eQtX93JwabTh7KYFMfLJpnaSgtt5K8v6pePt2IVs8jWdcDv5q4SdMH81f0PDqZ5GtV9dgpnvwmcvX+5DeVJCdV1ZRtuMbwtQf5QqMdkZ9ODWBkHmhaVVbVQ7qOjTnTaVW1y0TngPbYT4fUPWOI0uw8OWEB8FRg/ar6j54i3SrJp6Y4XD0vthu8tiXks2jWkpwP3BP4rz4Wtw31OX2ozwF9c3pGh3ZV/v8F7l5Vj0qyHfCgqurr8sREX+ghbr+8bd8BplJVj23f974SeTqT/jCtQtOq7649xYFm4etjaUYmiyXnsBU9Lbqrqof18XWXwsIkW1SzgQjtKviFPWf6ezu6XABJtmQAHVGSnFJVu7cjk1O9qO11ZHKKDkXvb+cT9140V9WQ1j8AkGSbqrpguqtCfV4Natu6/TPNgM5hwP2r6vJ26tL59LO4bajP6ZOfAyaEHp8D+mbR3O3TNJdvJrYo/QVwJD3N6al2W2pgp6r6wOi5tjVMbxsBTHfJvu11+nSg12boSU6sqj27jvVktDi9CfgNzarlXgz1hUa7QOZdNCND5wCvrqrf95tqSq+gWah7YXt7Ec1q/T69kWZTk3sk+RzNNIjn9poIqKrd2/frdN23D5OKv1WAXViyY0VvkmxCU+jtRvP34xSaTXQu6THWK2nmzL9ninNF0xmoL08F3ldVJ48erKrrk/QyOj/U5/ShPgf0zekZHZKcWlW7TrqkeVbf8wCnmi88mrGnTOvSLDTaGDiWZtvxFwOvBs6qql5W6idZQNPO7bs0G2JMjJquC3yjqgY5Qt6noc4dTvJ94DM0/b8fT3PV50kzP6ofaTaG2aa9eUFVDWFUdwPggTT/B35UVX/sOdKtkhxWVc/uOjZuk6YETbygfU8NYNe2tg3e4SwerXwW8MyqekR/qbQ0hvic3mYY8mDT2DnS3O269olm4pLmA+mxP3KSfYFnAJsnOXbk1Do0LZr6dBjwZ5oeji8A/pWms8cTquqsHnO9iGbu2t1pRnQniuargQ/1lGkJSZ4KfLOqrknyBuB+NJvn9HUpc6pRogl9jhatM9Iu6l1Jel3412FnFm/ssGOSXrf5TrMT4Heq3eY+yZ2T7F1VX+kr0yTbj95Is1vbztPcd5yePzHNZkIGsOlEa2FVjc5r/nSSl/cVZlSSA4HPTawDSrIesG9V/XePmR5IMzK/Lc1z06rAdX1OARrqc/rIYNOG7c9udLDp7n3l6psjzR3aEbdDgHsD59LMS3xq9bSNZNvNYHPg7TSN2idcA5xdVb21wcuSW0CvCvwR2HQoq5KTvKSPhR6zkeTsqrpPkt1pfrbvBl5XVQ/oOdqgpNmcY18W/wH/HM0TTqD/7hkTkhxGM2/yLBb3OK3qcUOMqa6QDWQk67XA64A1gesnDgN/p9nm/rV9ZYNpRwBPr6reC/ok36aZQjjRpm9fmlaavY8CDvH3LclpNFMFv0AzzeY5wD2r6vUzPnBuMw3yOb2dGvJymgL59yw52PSxqvpgH7n6ZtHcob3EejNNP9MAP6dpwt/7pdahGWrLuVFJ7g1sR7MKHqDX0b8JE08mSd4OnFNVh/f9BNPmuiPNHMVNq2r/dk7x1lXVS2/fedQ943xguxrQH9iJF2aTjt36QrdvSd7ed4E8Ksk2NKPf/0lz1WzCusC/VtX2Uz5wjJJsCnwQeFB76H9o5jT3un4Emt83mr79E1dpV6UpAnv7vo10kLn1/0KSH1TVg/vKNHRDHmzqg9Mzuv2wLfzOmzjQXhLupRgc+ErzHZNcPZJnzfb2ELKR5I00c5q3o9k04VE0C2d6L5qB3yf5f8DDgXe2L9aGsBvap2imtEw8qVxCM0rTS9E8j7pnnEvT/eTSvoOMOC3Je2mmJBXNZgqnz/yQ8amq17aXgbdiyRe1J0//qDm1NU33gDsDjxs5fg3wwj4CTVZVv6WZ2z9E3wKOSvIRmt+3A2gWovbp+iRrAGcl+U+a/59r9Rlo4M/pALckufOQptn0yZHmaSS5K82Cts8ycvmXZpThI1W1zXSP1TAlOQfYETizqnZM007w41X1uI6Hzrl2RPeRNKPMv0xyN5otco/vOZe9fZdCOyK+E83W3qPb3PfZR30t4N9pXpgBHA+8raqum/5R45PkBcDLgE1oprU8kGbQoterB0keVFU/7DPDdJJsAXyA5ntVNOtJXjF5DnYfkqxCs55kT5rnz+Np/t7ePOMD5zbTZsDlwOo0HW7uBPx3Vf1qxgeuxIY4zaZPjjRP759o2jFtArx35Pg1NPPvepGObVNrJW04Pkt/rapbktzUdvq4nIH0mqyq64EvJ7lLe8kV4II+M7UG2dt3Hji47wCTtcXxQZ137M/LgF1puno8rJ0e8aaeMwH8KsnrWLyoE4AaxgYih9NcOXhie/vpNPObe18LUVW3AB9u3wZhZNrKXxnG79Z8eE5fJUkmTbNZo+dMvbFonkZVHQocmuTJVfWlvvOMGO3nuylNt4rQXEL8Lc2CAk3ttCR3Bj5G8328lmYksHdJHk/TseLuNMX8pjRFc9/zJgfZ23foqqq3funTaduTPXXSZdbPV9U/9RpssRuq6oYkJLlDNRtkbN13KOAY4PvAt1m8qHMoUlWHjdz+bJIX95ZmRLv+4e3cdg3J2Acq2quM015WnzzXf8ym2kBqwhA2EZlqms03+o3UH6dnzEKSx9AUL6P/8d/cXyJof4GPraqvt7cfBTy8ql7VZ66hShJgk6r6XXt7EbBuVZ3da7BWkp/StHH7drsg8GE088b27znaYHv7ti80JralPqmqvtpnHoAp5iXeeoqe5ydOdUl1SJdZkxwNPI9mxf4eNAMCq1fVo3vO1Xtf/ukkeQfwF+DzNL93+wB3oG2l2ecoZZpdE98IvI9mTvjzaGqON/aQZbOZzg9h4eRQtdNs9qeZ1hXgTOBuVXVgr8F6YtHcoS1O7wg8DPg48BTgJ1XV225tba7btDyamH/aV6ahG0qbqKmMzB3+KXDfdhrJT6rq/j3lGeTmJhPaLiP3p2k5B02rrdOG1H1haJKcDjyxXTw2UUgcPbQONwBJ/pFmvuk3q+rvPWd5K/CDiQGKIUnym/bDiSfyJba772NUd8LE39ss2Yr0+1X1D31lajPcleZvRwGnVtUfes4z2G3HJyTZiWZt1z7AhcCXaiVtOef0jG4PrqZ/7tlV9aYk7wG+3Hco4I9pNsH4LM1//mfR/+YmQ/ejJLtW1al9B5nCX5KsTbPT3eeSXE6z+1hfJjY3WUDTz/SnNE/I9wF+DOzeU64Jj6HZdvYWgCSH0oyAWDRP7/XAKUkmpo48hP639p5uTuc57fu1gb7ndL4MeF2Sv9P0jh7CVYNdgd9Vu8Vxkv2AJwMXAQcPYB4swA3tKOUv2ykjvwfu0megdrHpfwDfofk5HpLkzVX1yR5jDXLb8ST3opkjvy9NbXEkzKsORnPCkeYOE6N9SX4EPInml+fcqtqq51zr01z6egjNf6yTgTcP5I/lICX5GXAv4GLgOhY/+fU2ny3JPYGNaLoF/JWmzdwzgc2A46qq15ZgST5P02HhnPb2vYFXV9Vze851NvDQid/39v/D93qemzh4STZk8VSbHwJXVdWNPWf6DTPM6exztHSo0rQ9fXhV/SnJQ2imZ7yEpmPLtlX1lD7zwa2F/fk0623eQnPl4J1V9eMeM/2cZiDsyvb2BjRXEXqfO59kQVXd0HVsjHluoZnL//yJ7iJJLlzZ/z860tztq+3isXcBZ9D8cf/YjI8Yg7ZYeNnosTTbzmp6j+o7wBTeT7Pz30Tbr1toFqDuQtOBoe92eNtMFMwAVXVue6mub28Hzmxbu4XmxWNvXW3mi6r6Y5LjaKabvYPm92ujnjMNevFyux7imcDmVfWWJPegmdPZ5yLiVUcGSPah2TnxS8CXkpzVX6zFRq7oXQs8r31+2ofmSlVfLqHpgDXhGuB3PWWZ7Afcdv+HqY6Ny5NpRpq/m+SbNC/Mpnphu1JxpHkG7aWlB1bVD9rbdwAWVNVVPWY6pap2bz8+rKqePXJucDvwDcnk79d0x8ac6dyquvc053rfrS3JETSj8qPTgNauqn37zAWQppf1rjR/yH/c99zEoUvyAJp5iU8E1gcOpFlM/Odeg7XaEdPbqP42NwEgyYdpXszuUVXbtl1Hjq+qXXvMdC7N9KSb0mwtv//E92mmvyljyrYuze/WxsCxwAnt7VcDP62qJ/SY7TPADjQdUQp4Ak0HpV8AVNV7p3/0nGUa3RPimSOnBrEnRJr+7nvTTNPYAziUZi1Er3sI9MWRyRm0i7HeQ7tFaTVbZ/fdo3Z096LJfxhX+leBHZZo35am32TfCwMXzHBuzbGlmN7zgP/D4qsaJzOAvqtJTqyqPWmelCcf04gkbwOeRtOS8gjgzTSLJg/tNdhtjW5VvYBmsdbp9DSnc8QDqup+Sc4EqKo/p9lVrk9HACcl+SPNtK7vw63TvXob1GkdRtP55IfAC2h+rmsAe1fVWT3mAvh1+zbhmPb9Oj1kmTC6J8S7R473uifEhPYq6Odo1tqsDzyVpt+7RbOmdHySJwNfrmEMy9c0H091W0CS19L88ZnY1huaFxh/Bz7aW7DGqUleWFVLTPlJ8nwGsMVxNX1zP0TTo7aAn/c5BzbJAppuNhu2I36jO3Xeva9cA7c/8HOaFztfa3+mg/tbUZN25mynQfxnT3FG3di+wJ7Y3GEhzchzb6rqbUlOBO5GM+o98fNchWZuc5+2GOmW8XHgj8CmVXXNzA+be1U1iA1NJtkQ+Fr7Bs3v2RXAKVX1m2kf1YN2StD/a99WShbN3V5JM7p7U5Ib6H/l9J2TPJHmj+OdkzypPR6ahRaapKreDrw9ydsH2JLs5cDRSZ7J4iJ5F5qRmSdO96BxSfJQmstxF9H8jt0jyX49XjJ/Ec337O4036+Jovlq2t60uo27AnvRXF59fzsPfM0kq1VVnx1aulzCba+m9eG/gKOBu7Sj9k8B3tBvJKiqH01x7Bd9ZJnk1hfVVXVzkt/0XTAneX9VvTzJV5licKl63N6epkPMZJsBr09ycFV9ftyBND3nNM8zST410/mqet64ssw3SXYDzqqq65I8i2aBxQdqAI3t02xmMlEgnFdV3+kzz4Q0vX2fUVU/b2/fCziieu53neQlVXVInxnmo3ak/rE0BfTuwIlV9Yx+UzWSHMLigmYVmk4QF1XVs3oL1UqzpfeeNC/STqyq83uONFhJbqZZBwHN92tN4Hp6HHBKsnNVnZ6m//dt1DB38FyfZrMr1ykNiEVzh6nmSTp3cn5q25TtSNNr+DDgE8CTqmrKP6RqvmeT27hNdUzzT7tg64lDmdvc9hqecBNNwfw/feWZkOQDwJETC8I1fyV5WVV9oOvYUGRAO3aq4fSMaTh3coV0U1VVkifQjDB/YtITtW7rtCSfoHmRAc3q7t7nWmvZVdXVNFNvBmEoxfsUzgDe0F5lOZqmgD6t50xaOvsBkwvk505xrHdJJraS14A40jyNJC9j8dzJ34+cugb4WK2kW0jOZ2l2QvsmTUeIh9Astjir77ZuQ9a2WTyQ5lJ+aLpn/HfbSUZabpI8lmYTjM1oBnT6Xj+yhPZy+UTv2k2r5w2uNHtJ9qVpt7g7baeR1jrAzVX18F6C0bQW5bbzrNcH/hd4TlVdMP5Umo5F8zTa3YwuAZ5SVYdkmNuU6nZo+2E+Azi1qr6fZFOaXeU+03M03U4jG05sUVVvbn+Wd+15wwktgyS/otl19ZyBdCpaQpL702zOsTfws8ndPjRcSTYDNqfZFOmgkVPXAGf3uSC2zTaqgCtr8YZXGhCL5mlk4NuUJlmdpn/uxIYAJ9E0Qu91S1ytGNr539Pqe07zEDecGLokpwGfAg4fyoYmo9quHntWVa/t3CZL8k6aYv7XwFE07Uf/0msoSb1wTvP0hr5N6YeB1YH/bm8/uz32gt4SDVySa1h8GWwNmu/ftVVlq77buoXme3U48FWaDRSGZIgbTgzd02mmJp06UkAfP6BR3dcAX2+nUd06/aePXdom+Q3woKr6Y885tJQm/e1f4hQDmgKk4bNont6qI31M96TZIGDCEL5vu1bVjiO3v5Pkp72lmQeqaoldn5LsTbPrmCapqp3aNlv70hTOP2vfHz+Q3r6D23Bi6KrqVzS9X/+dpu3cJ4FbknySZmFs31PO3gZcS7MbYO8vgJJMtPr6CbBpOwXoVlV1xvhTaWlM/tsvLa0hFH9DNeRtSgFuTrJlVf0aIMkWwM09Z5pXquorSQ7qvufKqV2A8kbgjUn2AT4DvBN4V6/BGhMbTmw0pA0nhi7JfWhGmx8NfIlme9zdge/QTD3r0/pVtVfPGUa9p32/gGbDoZ/SjEzeB/gxzfdN88jkFz4Tquq3486i+cmieRoD36YU4F+B7ya5kOYP+WbAP/cbadhGdk+E5ue4C249Pq0kG9Nc0n8iTeujV9AUqr2rqs+1G69MbDixtxtOzKz9fv2Fpj/5QSMdUH7cbvzTt28n2auqju87CEBVPQwgyeeB/avqnPb2vYFX95lNS+24kY8X0CwO/DmwfT9xNN+4EHCealuBAWxNUzRcAGArsOlN2k3xJppOKB+rqsv7STRc7bzSdWgWPn0RWOLS/QAu5ZNkd2CrqvpUOz1j7ar6Td+5hirJFlV1Yd85ptPOO12LZj7zjQxkvmmSs6pqp65jmn/aKTgvqqoX9Z1F84NF8zyV5IzJ22tOdUxaGkkuYvEo/OgfiYlCZouxhxoNkbyR5krB1lV1ryR3B75QVUMYMR2UJK+c6fwAFtoNWpIjaLaF/izN/4VnAWsNZftxLRufN3V7OD1jnml7DW8MrJnkviy5U+Edews2YEkOYYZpGFX10jHGmReqalHfGTo8EbgvzW5tVNX/JnGxz9QG/X1Jsk1VXTCy8G4JA1hw9zya9p4vpfl7ewawqM9AWjqTXkCuAtyPZpMraVYsmueff6LZ9nMTYHSE6BrgdX0Emgfc8nbF8/d2S/SJ7hlr9R1oqKrqTW2nkZdW1fv6zjOFV9J0J3rPyLHRF7l7jDfOkqrqhraH9N1o2o+uRzNlSfPP6AvIm2jmOH+ppyyah5yeMU8leXLbN1pa6SR5NbAV8AiaXb7+mWbTjkN6DTZgSb47sbhtSNqd9n5bVX9obw9i99Uk96JZCLsvcCVwJPDqqpq8g5uklYRF8zyV5M7Af7DkjoBvrqohtMMblCRfZebpGY8fYxwto3YL7U2AbYC9aC6Zf6uqTug12MC1rfnuRFP83bpFb9/TH4a6+2qSW2hajT6/7XFNkgv7ns+v2y/JsTOd9zlAs2XRPE8l+RJwLnBoe+jZwI5V9aTpH7VySvKPM52vqpPGlWW+SrLtREu3JA+sqh/1nOf0qtq5zwzzTTvFYLKqql6nPyT56cRGTUk+BFxRVQe3t3vrUpHkiTQjzQ8GvklTzH+8qjbvI4+WXpIrgN/R7L/wYxavBQJ8DtDsWTTPU7ZB0jglOY5mlPJY4AVVda+e83wI+HRVndpnDi27JOcCO1XVTUkuoOmJfPLEuaq6d8/51gL2ppmmsQfNQMXRQ+knrW7tnP5H0PwM70Mzl/mIqjqv12Cad1wIOH/9NcnuVXUKQLs5wV97zjRISc5h5ukZ9xljnHkhySLgT1V1NUBVPSbJS2l2AxxCq62HAQe0rfGuY3ErPH+WM0jyGJqNHBZMHKuqN/eXCBj47qtVdR3NzomfS7I+8FTgIMCieZ6oqptprhZ8s93jYF/ge0ne7DoI3R6ONM9TSXak2db4TjQFw5+A51bVT3sNNkBJZly4U1UXjyvLfNHuHrfHxBz5tmDeB3gB8KG+Lukn2bSqfjvdz9Sf5fSSfISmLeXDgI/TbD3+k6p6fq/BaKb8sHj31evaY/ei2bCm75ZzWgG0xfJjaArmRTRXzT5ZVb/vM5fmF4vmeS7JugATI4LS8pDk7IlR2yT/l6Yn8pOr6vo+5xOPbkSQ5EtV9eQ+csxHEz/TkfdrA1+uqr36zibNpSSHAvcGvgF8vqrO7TmS5imnZ8xT7avmJ9O8Yl6taSgwiEutWjH8ut12fBOaDQC2bwvmbXvONbqAxy4Gt8/E9K3r2x0UrwRc1KaVwbNppnHdC3jpxPMlA9mqXfOHRfP8dQzNfL/Tgb/1nEUrnn2ApwF/By4Evp3kcpo2b/v1mKum+Vjdvta2qnwXza52RTNNQ1qhVdUqfWfQisHpGfPUEFaVrwiSbFBVV/adY+iSLAB2AH5ZVX/pMcfNLF74tyZw/cQpHDGatfZK1QL7ukvS7Pnqa/76QZId+g4xHyX5dZL/anci+37feeaDqrqhqk7ts2Buc6xaVetW1TpVtVr78cRtC+YpJHnNyMdPBaiqv1XVVe18dUnSLFg0zzNJzklyNrA7cEaSnyc5e+S4OlTVlsBvgB8C7+g5jjTXnj7y8WsnnXvkOINI0nzmnOb557F9B5hvkhwPvHCiHVnb3uoA4EU038/P9BhPmmuZ5uOpbksrrCQvBj5XVX/uO4vmJ4vm+ecymoLvnsA5wCeq6qZ+Iw3eXUYK5sfQLIR6XFX9IsmL+o02fO1uWhsx8veiqn7bXyLdTjMtnnRRi1YmdwVOTXIG8EngW+XCLt0OLgScZ5IcCdxIMxf3UcDFVfWyflMNW5IfA/8N3AN4KXDfqvp92+P6R1W1Xa8BByzJS4A30rxYu6U97M5780jH4skFVbV6X9mkcUvTb24v4HnALsBRNINPv+41mOYFR5rnn+2qageAJJ8AftJznvngmTTb3v4deCdwaJKTgScAH+sz2DzwMmBrO4zMX1W1at8ZpKGoqkryB+APwE3AesAXk5xQVa+Z+dFa2TnSPM+M7og21W11S3Jf4OHAmVX17b7zDFmS7wKPcAqQpPkuyUtp+sz/kaZH+Veq6sYkq9C009yy14AaPEea558dk0xsmR1gzfa2fWpnqarOBM7sO8c8cSHwvSTHMbKJTlW9t79IkrRUNgSeNLHGZUJV3ZLERfbqZNE8z3ipVWP22/ZtjfZNkuaVJOu3H75/0m0AqupPVXX+uHNp/nF6hqROSdahuZJxbd9ZJOn2SPIbFneKmdxmsapqizFH0jxl0SxpWknuDRwGTIzM/BF4TlWd118qSZLGzx0BtdJIsluSE5L8IsmFSX6T5MK+cw3cR4FXVtVmVbUZ8CrsOCJpHkrjWUn+vb29aZL7951L84cjzVppJLkAeAVwOnDzxHHbqU0vyU+raseuY5I0dEk+TNNvfo+q2jbJesDxVbVrz9E0T7gQUCuTq6rqG32HmGcubEdlDmtvPwv4TY95JGlpPaCq7pfkTICq+nMSFzhr1iyatTL5bpJ3AV9myfZpZ/QXafD+GXgTzfcswMk0O2lJ0nxzY5JVaRcFJlnI4p1OpU5Oz9BKo92oY7Kqqj3GHkaSNFZJngnsA9wPOBR4CvCGqvpCr8E0b1g0S7qNJO+vqpcn+SqLWzXdqqoe30MsSVomSbYB9qS5cnai/Zl1e1g0a6WR5JVTHL4KOL2qzhpznEFLsnNVnZ7kH6c6X1UnjTuTJC2LJB8AjqyqH/SdRfOTLee0MtkFOADYuH3bH3go8LEkr+kx1+BU1enthztV1Umjb8BOPUaTpKV1BvCGJL9K8q4ku/QdSPOLI81aaST5FvDkiV3tkqwNfBF4Is1o83Z95huiJGdU1f0mHTuzqu7bVyZJWhbtNtpPBp4ObFpVW/UcSfOE3TO0MtkU+PvI7RuBzarqr0n+Ns1jVkpJ9gWeAWye5NiRU+sA9rWWNJ/dE9gGWAT8rN8omk8smrUyORz4UZJj2tuPA45Ishb+4ZzsB8ClwIbAe0aOXwOc3UsiSVoGSd4JPAn4NXAU8Jaq+kuvoTSvOD1DK5UkOwO706ycPqWqTus5kiRpDJIcAHyxqv7YdxbNTxbNWuElWbeqrm7nsd1GVf1p3JnmiyQPBA4BtgXWAFYFrquqdXsNJkmzlGSbqrogyf2mOu8GV5otp2doZXA48FjgdJbsOZz29hZ9hJonPkizWOYLNN1HnkMzH1CS5otX0nRLes8U5wpwgyvNiiPNkqaV5LSq2iXJ2VV1n/bYD6rqwX1nkyRpnOzTrJVGkt3aRX8keVaS9ybZtO9cA3d9kjWAs5L8Z5JXAGv1HUqSbq8kT02yTvvxG5J8OYntMzVrFs1amXyYpgjcEXgNcDFwWL+RBu/ZNPOYXwxcB9yDpr+pJM03/15V1yTZHfgn4FDgIz1n0jzi9AytNCY26kjyH8Dvq+oTU23eIUla8UxszJTk7cA5VXW4mzXp9nCkWSuTa5K8lmb09LgkqwKr95xp0JI8NsmZSf6U5Ook1yS5uu9ckrQUfp/k/wFPA76e5A5YB+l2cKRZK40kd6XZ5e7Uqvp+O5/5oVX1mZ6jDVaSX9FsBnBO+cdC0jyW5I7AI2n+nv0yyd2AHarq+J6jaZ6waNZKJclmwFZV9e32D+iqVXVN37mGKsl3gT2r6pa+s0jSskiyJXBJVf0tyUOB+wCfcVdAzZZFs1YaSV5I06tz/araMslWwEeqas+eow1Wkl2BtwAnAX+bOF5V7+0tlCQthSRn0fSbXwR8CzgW2LqqHt1jLM0jzuXRyuRAYDfgaoCq+iVwl14TDd/bgOuBBcA6I2+SNN/cUlU30Uw5e39VvQK4W8+ZNI+4I6BWJn+rqr8nASDJaiy5Q6Bua/2q2qvvEJK0HNyYZF+anU0f1x5zMbhmzZFmrUxOSvI6YM0kj6DZGvqrPWcaum8nsWiWtCJ4HvAg4G1V9ZskmwOf7TmT5hHnNGulkWQV4PnAXkBo5rR93K4Q00tyDc0OgH8DbqT5vlVVrdtrMEmSxsyiWSuVJAsBquqKvrNIksanXfz9dmA7mnUaAFTVFr2F0rzinGat8NJMYn4jzVbQaQ/dDBxSVW/uNdxAJdmmqi5IMuVuiVV1xrgzSdIy+hTNc8H7gIfRTNdIr4k0rzjSrBVeklcAjwb2r6rftMe2AD4MfLOq3tdnviFK8tGq2r/t0zxZVdUeYw8lScsgyelVtXOSc6pqh/bY96vqH/rOpvnBolkrvCRnAo+oqj9OOr4QOL6q7ttPMknSuCT5H+AfgC8C3wF+D7yjqrbuNZjmDadnaGWw+uSCGZp5zUlsN9QhyYNpNgO49e+FW49LmodeDtwReCnNpk17APv1GUjzi0WzVgZ/X8pzK70khwFbAmcBN7eHC7BoljSvVNWp7YfX0sxnlm4Xp2dohdcu+rtuqlPAgqpytHkaSc4HtrMtn6T5KsmxM52vqsePK4vmN0eatcKrqlX7zjCPnQvcFbi07yCStJQeBPwOOAL4MXbM0FJypFnStNruGTsBP6HZ4ARwZEbS/JFkVeARwL7AfYDjgCOq6rxeg2nesWiWNK0k/zjV8ao6adxZJGlZJbkDTfH8LuDNVXVIz5E0j1g0S5q1JLsBz6iqA/vOIkmz1RbLj6EpmBcBxwKfrKrf95lL84tzmiXNKMlOwDOApwG/Ab7UayBJuh2SHArcG/gG8KaqOrfnSJqnHGmWdBtJ7gU8nWZU5krgSODVVbVZr8Ek6XZKcguLOyiNFj2h2eF03fGn0nxk0SzpNtonme8Dz6+qX7XHLqyqLfpNJklSP1bpO4CkQXoy8Afgu0k+lmRPbNMkSVqJOdIsaVpJ1gL2ppmmsQdwKHB0VR3fZy5JksbNolnSrCRZH3gqsE9V7dF3HkmSxsmiWZIkSergnGZJkiSpg0WzJEmS1MGiWZIGLslGSQ5PcmGS05P8MMkT+84lSSsTi2ZJGrAkAb4CnFxVW1TVzjQbz2yyHD73qsv6OSRpZWHRLEnDtgfw96r6yMSBqrq4qg5JsmqSdyU5NcnZSV4EkOShSb6X5ItJLkjyubb4JslFSf4jySnAU5Ps1Y5cn5HkC0nW7uefKUnDZtEsScO2PXDGNOeeD1xVVbsCuwIvTLJ5e+6+wMuB7YAtgN1GHndDVe0OfBt4A/DwqrofcBrwyuX+L5CkFcBqfQeQJM1ekg8BuwN/By4G7pPkKe3pOwFbted+UlWXtI85C1gEnNLe78j2/QNpiur/aQei1wB+OOf/CEmahyyaJWnYzqPZ1hyAqjowyYY0o8K/BV5SVd8afUCShwJ/Gzl0M0v+vb9u4q7ACVW17/KPLUkrFqdnSNKwfQdYkOT/jBy7Y/v+W8D/SbI6QJJ7tVufz9aPgN2S3LN9/B2T3Gt5hJakFY0jzZI0YFVVSfYG3pfkNcAVNCPF/wZ8gWbaxRntQr8rgL1vx+e+IslzgSOS3KE9/AbgF8srvyStKNxGW5IkSerg9AxJkiSpg0WzJEmS1MGiWZIkSepg0SxJkiR1sGiWJEmSOlg0S5IkSR0smiVJkqQOFs2SJElSh/8Po+qMbkYRoucAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "x = np.arange(len(all_types))\n", + "l2=[[],[],[],[]]\n", + "for data in l:\n", + " for i in range(0,4):\n", + " l2[i].append(data[i])\n", + "ys=l2\n", + "bar_width = 0.2\n", + "tick_label=all_types\n", + "labels=[\"CN\",\"GLOBAL\",\"JP\",\"NL\"]\n", + "plt.figure(figsize=(12,8))\n", + "for i,y in enumerate(ys):\n", + " plt.bar(x+i*bar_width, y, bar_width,label=labels[i])\n", + " \n", + "tick_label=all_types\n", + "plt.ylabel('Count')\n", + "plt.xlabel('Genre')\n", + "plt.title('Steam_Games_Genre_Top100_CN_JP_NL_GL')\n", + "plt.xticks(x, tick_label)\n", + "plt.xticks(rotation=90)\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "3fd3bfe9", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "1e3e46b7", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "9d0d0657", + "metadata": {}, + "source": [ + "## VII. Active Learning" + ] + }, + { + "cell_type": "markdown", + "id": "cf44c952", + "metadata": {}, + "source": [ + "### Given by the the tables of ranking of Top 100 games on steam platform , you are expected to find a way to analyze our charts and discover some visible trends." + ] + }, + { + "cell_type": "markdown", + "id": "30b83094", + "metadata": {}, + "source": [ + "Note that you might apply the `function` you have previously learned. \n", + "\n", + "A Grand Data Projects is not necessarily, still you can make more elaborate charts by checking out more information for helpful optional parameters via these websites below.\n", + "\n", + "`https://steamdb.info/`\n", + "\n", + "`https://steamdb.info/faq/#how-are-we-getting-this-information`" + ] + }, + { + "cell_type": "markdown", + "id": "1e94e6a6", + "metadata": {}, + "source": [ + "#### 1.Try to identify the most popular game genres and tags in the South Korea of last week (depending on your current date) and analyse what you think are the main reasons for this trend based on the data of the Netherlands region on steam." + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "31853f5f", + "metadata": {}, + "outputs": [], + "source": [ + "url = 'https://store.steampowered.com/charts/topsellers/KR/2022-12-20' # You may select any leaderboard you like.\n", + "chromedriver_path = 'chromedriver' # The path of chromedriver on your own computer.\n", + "\n", + "urls = get_links (url, chromedriver_path)\n", + "filename = 'Steam_Games_Top100_KR_w_c_20Dec.csv'\n", + "get_steam_csv (urls, filename)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "b2bc3c9e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Game_TitleGenreDeveloperPublisherRelease_DateAll_ReviewsAll_VotesUser_Defined_TagsWinMacLinuxVR_Supported
0Project ZomboidIndie, RPG, Simulation, Early AccessThe Indie StoneThe Indie Stone8 Nov, 2013Very Positive10,256Survival, Zombies, Open World, Open World Surv...YesYesYesNo
1ELDEN RINGAction, RPGFromSoftware Inc.FromSoftware Inc., Bandai Namco Entertainment24 Feb, 2022Very Positive21,838Souls-like, Dark Fantasy, RPG, Open World, Dif...YesNoNoNo
2PUBG: BATTLEGROUNDSAction, Adventure, Free to Play, Massively Mul...KRAFTON, Inc.KRAFTON, Inc.21 Dec, 2017Mixed15,687Survival, Shooter, Battle Royale, Multiplayer,...YesNoNoNo
3EA SPORTS™ FIFA 23Simulation, SportsEA Canada & EA RomaniaElectronic Arts29 Sep, 2022Mixed17,714Football (Soccer), Sports, eSports, Controller...YesNoNoNo
4DJMAX RESPECT VAction, Casual, SportsNEOWIZNEOWIZ11 Mar, 2020Early AccessVery Positive389Rhythm, Casual, Music, Action, SportsYesNoNoNo
\n", + "
" + ], + "text/plain": [ + " Game_Title Genre \\\n", + "0 Project Zomboid Indie, RPG, Simulation, Early Access \n", + "1 ELDEN RING Action, RPG \n", + "2 PUBG: BATTLEGROUNDS Action, Adventure, Free to Play, Massively Mul... \n", + "3 EA SPORTS™ FIFA 23 Simulation, Sports \n", + "4 DJMAX RESPECT V Action, Casual, Sports \n", + "\n", + " Developer Publisher \\\n", + "0 The Indie Stone The Indie Stone \n", + "1 FromSoftware Inc. FromSoftware Inc., Bandai Namco Entertainment \n", + "2 KRAFTON, Inc. KRAFTON, Inc. \n", + "3 EA Canada & EA Romania Electronic Arts \n", + "4 NEOWIZ NEOWIZ \n", + "\n", + " Release_Date All_Reviews All_Votes \\\n", + "0 8 Nov, 2013 Very Positive 10,256 \n", + "1 24 Feb, 2022 Very Positive 21,838 \n", + "2 21 Dec, 2017 Mixed 15,687 \n", + "3 29 Sep, 2022 Mixed 17,714 \n", + "4 11 Mar, 2020Early Access Very Positive 389 \n", + "\n", + " User_Defined_Tags Win Mac Linux \\\n", + "0 Survival, Zombies, Open World, Open World Surv... Yes Yes Yes \n", + "1 Souls-like, Dark Fantasy, RPG, Open World, Dif... Yes No No \n", + "2 Survival, Shooter, Battle Royale, Multiplayer,... Yes No No \n", + "3 Football (Soccer), Sports, eSports, Controller... Yes No No \n", + "4 Rhythm, Casual, Music, Action, Sports Yes No No \n", + "\n", + " VR_Supported \n", + "0 No \n", + "1 No \n", + "2 No \n", + "3 No \n", + "4 No " + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.options.display.max_rows = 400\n", + "KR_df=pd.read_csv('data/Steam_Games_Top100_KR_w_c_20Dec.csv', index_col=0, delimiter=',', encoding='utf-8')\n", + "\n", + "KR_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "9360428a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Game_TitleGenreDeveloperPublisherRelease_DateAll_ReviewsAll_VotesUser_Defined_TagsWinMacLinuxVR_Supported
0Project ZomboidIndie, RPG, Simulation, Early AccessThe Indie StoneThe Indie Stone8 Nov, 2013Very Positive10,091Survival, Zombies, Open World, Open World Surv...YesYesYesNo
1ELDEN RINGAction, RPGFromSoftware Inc.FromSoftware Inc., Bandai Namco Entertainment24 Feb, 2022Very Positive21,498Souls-like, Dark Fantasy, RPG, Open World, Dif...YesNoNoNo
2PUBG: BATTLEGROUNDSAction, Adventure, Free to Play, Massively Mul...KRAFTON, Inc.KRAFTON, Inc.21 Dec, 2017Mixed15,650Survival, Shooter, Battle Royale, Multiplayer,...YesNoNoNo
3EA SPORTS™ FIFA 23Simulation, SportsEA Canada & EA RomaniaElectronic Arts29 Sep, 2022Mixed17,735Football (Soccer), Sports, eSports, Controller...YesNoNoNo
4DJMAX RESPECT VAction, Casual, SportsNEOWIZNEOWIZ11 Mar, 2020Very Positive381Rhythm, Casual, Action, Music, SportsYesNoNoNo
\n", + "
" + ], + "text/plain": [ + " Game_Title Genre \\\n", + "0 Project Zomboid Indie, RPG, Simulation, Early Access \n", + "1 ELDEN RING Action, RPG \n", + "2 PUBG: BATTLEGROUNDS Action, Adventure, Free to Play, Massively Mul... \n", + "3 EA SPORTS™ FIFA 23 Simulation, Sports \n", + "4 DJMAX RESPECT V Action, Casual, Sports \n", + "\n", + " Developer Publisher \\\n", + "0 The Indie Stone The Indie Stone \n", + "1 FromSoftware Inc. FromSoftware Inc., Bandai Namco Entertainment \n", + "2 KRAFTON, Inc. KRAFTON, Inc. \n", + "3 EA Canada & EA Romania Electronic Arts \n", + "4 NEOWIZ NEOWIZ \n", + "\n", + " Release_Date All_Reviews All_Votes \\\n", + "0 8 Nov, 2013 Very Positive 10,091 \n", + "1 24 Feb, 2022 Very Positive 21,498 \n", + "2 21 Dec, 2017 Mixed 15,650 \n", + "3 29 Sep, 2022 Mixed 17,735 \n", + "4 11 Mar, 2020 Very Positive 381 \n", + "\n", + " User_Defined_Tags Win Mac Linux \\\n", + "0 Survival, Zombies, Open World, Open World Surv... Yes Yes Yes \n", + "1 Souls-like, Dark Fantasy, RPG, Open World, Dif... Yes No No \n", + "2 Survival, Shooter, Battle Royale, Multiplayer,... Yes No No \n", + "3 Football (Soccer), Sports, eSports, Controller... Yes No No \n", + "4 Rhythm, Casual, Action, Music, Sports Yes No No \n", + "\n", + " VR_Supported \n", + "0 No \n", + "1 No \n", + "2 No \n", + "3 No \n", + "4 No " + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "KR_df = data_clean('Steam_Games_Top100_KR_w_c_20Dec.csv')\n", + "\n", + "KR_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 135, + "id": "6305be70", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "labels_KR_G = get_labels(KR_df, 'Genre')\n", + "\n", + "total = []\n", + "for i in range (6):\n", + " genre = list(labels_KR_G[i].values)\n", + " total.extend(genre)\n", + "\n", + "labels_KR_G = pd.DataFrame()\n", + "labels_KR_G[0] = total\n", + "\n", + "sns.countplot(data=labels_KR_G, x=0,order=labels_KR_G[0].value_counts().iloc[:10].index)\n", + "plt.xticks(rotation=90)\n", + "plt.title('Top10 Korea Steam Games Genre')\n", + "plt.xlabel('Genre')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 134, + "id": "ba5d5a9a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "labels_KR_T = get_labels(KR_df, 'User_Defined_Tags')\n", + "\n", + "total = []\n", + "for i in range (5):\n", + " tag = list(labels_KR_T[i].values)\n", + " total.extend(tag)\n", + "\n", + "labels_KR_T = pd.DataFrame()\n", + "labels_KR_T[0] = total\n", + "\n", + "plt.figure(figsize=(12,3))\n", + "sns.countplot(data=labels_KR_T, x=0,order=labels_KR_T[0].value_counts().iloc[:30].index)\n", + "plt.xticks(rotation=90)\n", + "plt.title('Top30 Korea Steam Games Tags')\n", + "plt.xlabel('Tags')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "d36d8599", + "metadata": {}, + "source": [ + "The most genre in Korea is still action, other than that, there are more appearances of adventure, simulation and indie.The most famous Korean game is PUBG, a game developed by a Korean company, which has the tags of FPS and survival, and this game may have a great influence on the data. This game may have influenced the data to a great extent. Secondly, open world games have become very popular in recent years, and many famous titles have created their own worlds, and this trend has a great influence on Korean people's game choices." + ] + }, + { + "cell_type": "markdown", + "id": "98bec15b", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "c2cbc10c", + "metadata": {}, + "source": [ + "#### 2. How much does the popularity of a game correlate with its release date, and do newer games tend to be more popular?" + ] + }, + { + "cell_type": "markdown", + "id": "b6be706f", + "metadata": {}, + "source": [ + "We must first define `popularity` before we can calculate the game's level of popularity. Since this is already a list of the top 100, we can judge using `All Votes`, in which case we consider the game with more votes to be more well-liked." + ] + }, + { + "cell_type": "markdown", + "id": "ed194459", + "metadata": {}, + "source": [ + "Next, we need to confirm the type of all data in this Dataframe. Here you can use `df.info()` to check.\n", + " \n", + "Here we take Steam data from the `Netherlands` as an example." + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "b791fd95", + "metadata": {}, + "outputs": [], + "source": [ + "url = 'https://store.steampowered.com/charts/topsellers/NL/2022-12-20'\n", + "chromedriver_path = 'chromedriver'\n", + "\n", + "urls = get_links (url, chromedriver_path)\n", + "filename = 'Steam_Games_Top100_NL_w_c_20Dec.csv'\n", + "get_steam_csv (urls, filename)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "f7982e2f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Int64Index: 95 entries, 1 to 99\n", + "Data columns (total 12 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Game_Title 95 non-null object\n", + " 1 Genre 95 non-null object\n", + " 2 Developer 95 non-null object\n", + " 3 Publisher 95 non-null object\n", + " 4 Release_Date 95 non-null object\n", + " 5 All_Reviews 95 non-null object\n", + " 6 All_Votes 95 non-null object\n", + " 7 User_Defined_Tags 95 non-null object\n", + " 8 Win 95 non-null object\n", + " 9 Mac 95 non-null object\n", + " 10 Linux 95 non-null object\n", + " 11 VR_Supported 95 non-null object\n", + "dtypes: object(12)\n", + "memory usage: 9.6+ KB\n" + ] + } + ], + "source": [ + "csv_path = 'data/Steam_Games_Top100_NL_w_c_20Dec.csv'\n", + "NL_df = data_clean(csv_path)\n", + "\n", + "NL_df.info()" + ] + }, + { + "cell_type": "markdown", + "id": "284c8657", + "metadata": {}, + "source": [ + "From the above information, we can see that the data type of all data content is `obeject`, and for correlation analysis, we need `Release_Date` and `All_Votes` to be `int`.\n", + "\n", + "In order to convert `All_Votes` column into integer, we can first define a function converting one string into integer. And then, use `.apply()` in pandas to convert the whole column." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "b124e13b", + "metadata": {}, + "outputs": [], + "source": [ + "# Change date from string into integer.\n", + "\n", + "NL_df['Release_Date'] = pd.to_datetime(NL_df['Release_Date'])\n", + "NL_df['Release_Date'] = NL_df['Release_Date'].dt.strftime('%Y%m%d')\n", + "NL_df['Release_Date'] = NL_df['Release_Date'].astype(int)\n", + "\n", + "\n", + "# Convert \"All_Votes\"column into integer\n", + "\n", + "def convert_to_int(string_num):\n", + " return int(string_num.replace(',',''))\n", + "\n", + "NL_df['All_Votes'] = NL_df['All_Votes'].apply(convert_to_int)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "4d3c52e6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Game_TitleGenreDeveloperPublisherRelease_DateAll_ReviewsAll_VotesUser_Defined_TagsWinMacLinuxVR_Supported
1Call of Duty®: Modern Warfare® IIActionInfinity Ward, Raven Software, Beenox, Treyarc...Activision20221027Mixed21055FPS, Action, Shooter, Multiplayer, SingleplayerYesNoNoNo
2EA SPORTS™ FIFA 23Simulation, SportsEA Canada & EA RomaniaElectronic Arts20220929Mixed17735Football (Soccer), Sports, eSports, Controller...YesNoNoNo
3ELDEN RINGAction, RPGFromSoftware Inc.FromSoftware Inc., Bandai Namco Entertainment20220224Very Positive21498Souls-like, Dark Fantasy, RPG, Open World, Dif...YesNoNoNo
4War ThunderAction, Free to Play, Massively Multiplayer, S...Gaijin EntertainmentGaijin Distribution KFT20130815Mostly Positive9805Free to Play, Vehicular Combat, Combat, VR, Wo...YesYesYesYes
5High On LifeAction, AdventureSquanch Games, Inc.Squanch Games, Inc.20221213Very Positive4480FPS, Comedy, Singleplayer, Adventure, Action-A...YesNoNoNo
\n", + "
" + ], + "text/plain": [ + " Game_Title \\\n", + "1 Call of Duty®: Modern Warfare® II \n", + "2 EA SPORTS™ FIFA 23 \n", + "3 ELDEN RING \n", + "4 War Thunder \n", + "5 High On Life \n", + "\n", + " Genre \\\n", + "1 Action \n", + "2 Simulation, Sports \n", + "3 Action, RPG \n", + "4 Action, Free to Play, Massively Multiplayer, S... \n", + "5 Action, Adventure \n", + "\n", + " Developer \\\n", + "1 Infinity Ward, Raven Software, Beenox, Treyarc... \n", + "2 EA Canada & EA Romania \n", + "3 FromSoftware Inc. \n", + "4 Gaijin Entertainment \n", + "5 Squanch Games, Inc. \n", + "\n", + " Publisher Release_Date \\\n", + "1 Activision 20221027 \n", + "2 Electronic Arts 20220929 \n", + "3 FromSoftware Inc., Bandai Namco Entertainment 20220224 \n", + "4 Gaijin Distribution KFT 20130815 \n", + "5 Squanch Games, Inc. 20221213 \n", + "\n", + " All_Reviews All_Votes \\\n", + "1 Mixed 21055 \n", + "2 Mixed 17735 \n", + "3 Very Positive 21498 \n", + "4 Mostly Positive 9805 \n", + "5 Very Positive 4480 \n", + "\n", + " User_Defined_Tags Win Mac Linux \\\n", + "1 FPS, Action, Shooter, Multiplayer, Singleplayer Yes No No \n", + "2 Football (Soccer), Sports, eSports, Controller... Yes No No \n", + "3 Souls-like, Dark Fantasy, RPG, Open World, Dif... Yes No No \n", + "4 Free to Play, Vehicular Combat, Combat, VR, Wo... Yes Yes Yes \n", + "5 FPS, Comedy, Singleplayer, Adventure, Action-A... Yes No No \n", + "\n", + " VR_Supported \n", + "1 No \n", + "2 No \n", + "3 No \n", + "4 Yes \n", + "5 No " + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "NL_df.head()" + ] + }, + { + "cell_type": "markdown", + "id": "8e0fafc4", + "metadata": {}, + "source": [ + "We can use the correlation calculation function in pandas for statistics. Here, since we care more about the ranking relationship between two variables than the numerical relationship, we can choose to use the `Spearman rank correlation coefficient` for statistics." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "06a4eeb0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-0.22123070032317219\n" + ] + } + ], + "source": [ + "x = pd.Series(NL_df.Release_Date)\n", + "y = pd.Series(NL_df.All_Votes)\n", + "\n", + " \n", + "corr = x.corr(y, method='spearman')\n", + "print (corr)" + ] + }, + { + "cell_type": "markdown", + "id": "9b6026df", + "metadata": {}, + "source": [ + "At the same time, we can also use the plot method to see whether the two sets of data are correlated." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "c1631073", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(x,y)\n", + "plt.xlabel(\"Release_Date\")\n", + "plt.ylabel(\"All_Votes\")\n", + "plt.title('Top100 NL Steam Games Release Date vs Votes')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "e30ce954", + "metadata": {}, + "source": [ + "Through the above analysis, we can know that in the Top 100 list of Steam games in the Netherlands, the popularity of a game has a certain level of negative correlation with its release date, but the correlation between the two variables is relatively weak." + ] + }, + { + "cell_type": "markdown", + "id": "d64c2010", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "6e9188ec", + "metadata": {}, + "source": [ + "#### 3. How similar is the US ranking chart for the popularity of games on the Steam platform to the global ranking chart?" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "b821a6e2", + "metadata": {}, + "outputs": [], + "source": [ + "url = 'https://store.steampowered.com/charts/topsellers/US/2022-12-20'\n", + "chromedriver_path = 'chromedriver'\n", + "\n", + "urls = get_links (url, chromedriver_path)\n", + "filename = 'Steam_Games_Top100_US_w_c_20Dec.csv'\n", + "get_steam_csv (urls, filename)" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "bfb690bb", + "metadata": {}, + "outputs": [], + "source": [ + "url = 'https://store.steampowered.com/charts/topsellers/global/2022-12-20'\n", + "chromedriver_path = 'chromedriver'\n", + "\n", + "urls = get_links (url, chromedriver_path)\n", + "filename = 'Steam_Games_Top100_GL_w_c_20Dec.csv'\n", + "get_steam_csv (urls, filename)" + ] + }, + { + "cell_type": "code", + "execution_count": 124, + "id": "3f6d303d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Game_TitleGenreDeveloperPublisherRelease_DateAll_ReviewsAll_VotesUser_Defined_TagsWinMacLinuxVR_Supported
1Call of Duty®: Modern Warfare® IIActionInfinity Ward, Raven Software, Beenox, Treyarc...Activision27 Oct, 2022Mixed20,346FPS, Action, Multiplayer, Shooter, SingleplayerYesNoNoNo
2ELDEN RINGAction, RPGFromSoftware Inc.FromSoftware Inc., Bandai Namco Entertainment24 Feb, 2022Very Positive21,838Souls-like, Dark Fantasy, RPG, Open World, Dif...YesNoNoNo
3Counter-Strike: Global OffensiveAction, Free to PlayValve, Hidden Path EntertainmentValve21 Aug, 2012Very Positive81,907FPS, Shooter, Multiplayer, Competitive, ActionYesYesYesNo
4High On LifeAction, AdventureSquanch Games, Inc.Squanch Games, Inc.13 Dec, 2022Very Positive4,128FPS, Comedy, Singleplayer, Adventure, Action-A...YesNoNoNo
5War ThunderAction, Free to Play, Massively Multiplayer, S...Gaijin EntertainmentGaijin Distribution KFT15 Aug, 2013Mostly Positive9,678Free to Play, Vehicular Combat, Combat, VR, Wo...YesYesYesYes
\n", + "
" + ], + "text/plain": [ + " Game_Title \\\n", + "1 Call of Duty®: Modern Warfare® II \n", + "2 ELDEN RING \n", + "3 Counter-Strike: Global Offensive \n", + "4 High On Life \n", + "5 War Thunder \n", + "\n", + " Genre \\\n", + "1 Action \n", + "2 Action, RPG \n", + "3 Action, Free to Play \n", + "4 Action, Adventure \n", + "5 Action, Free to Play, Massively Multiplayer, S... \n", + "\n", + " Developer \\\n", + "1 Infinity Ward, Raven Software, Beenox, Treyarc... \n", + "2 FromSoftware Inc. \n", + "3 Valve, Hidden Path Entertainment \n", + "4 Squanch Games, Inc. \n", + "5 Gaijin Entertainment \n", + "\n", + " Publisher Release_Date \\\n", + "1 Activision 27 Oct, 2022 \n", + "2 FromSoftware Inc., Bandai Namco Entertainment 24 Feb, 2022 \n", + "3 Valve 21 Aug, 2012 \n", + "4 Squanch Games, Inc. 13 Dec, 2022 \n", + "5 Gaijin Distribution KFT 15 Aug, 2013 \n", + "\n", + " All_Reviews All_Votes \\\n", + "1 Mixed 20,346 \n", + "2 Very Positive 21,838 \n", + "3 Very Positive 81,907 \n", + "4 Very Positive 4,128 \n", + "5 Mostly Positive 9,678 \n", + "\n", + " User_Defined_Tags Win Mac Linux \\\n", + "1 FPS, Action, Multiplayer, Shooter, Singleplayer Yes No No \n", + "2 Souls-like, Dark Fantasy, RPG, Open World, Dif... Yes No No \n", + "3 FPS, Shooter, Multiplayer, Competitive, Action Yes Yes Yes \n", + "4 FPS, Comedy, Singleplayer, Adventure, Action-A... Yes No No \n", + "5 Free to Play, Vehicular Combat, Combat, VR, Wo... Yes Yes Yes \n", + "\n", + " VR_Supported \n", + "1 No \n", + "2 No \n", + "3 No \n", + "4 No \n", + "5 Yes " + ] + }, + "execution_count": 124, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.options.display.max_rows= 999\n", + "US_df = pd.read_csv('data/Steam_Games_Top100_US_w_c_20Dec.csv', index_col=0, delimiter=',')\n", + "US_df = data_clean('data/Steam_Games_Top100_US_w_c_20Dec.csv')\n", + "\n", + "US_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 125, + "id": "08f5ae3d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Game_TitleGenreDeveloperPublisherRelease_DateAll_ReviewsAll_VotesUser_Defined_TagsWinMacLinuxVR_Supported
0Counter-Strike: Global OffensiveAction, Free to PlayValve, Hidden Path EntertainmentValve21 Aug, 2012Very Positive80,720FPS, Shooter, Multiplayer, Competitive, ActionYesYesYesNo
1Dota 2Action, Free to Play, StrategyValveValve9 Jul, 2013Very Positive22,501Free to Play, MOBA, Multiplayer, Strategy, eSp...YesYesYesNo
2Call of Duty®: Modern Warfare® IIActionInfinity Ward, Raven Software, Beenox, Treyarc...Activision27 Oct, 2022Mixed21,077FPS, Action, Shooter, Multiplayer, SingleplayerYesNoNoNo
4ELDEN RINGAction, RPGFromSoftware Inc.FromSoftware Inc., Bandai Namco Entertainment24 Feb, 2022Very Positive21,519Souls-like, Dark Fantasy, RPG, Open World, Dif...YesNoNoNo
5EA SPORTS™ FIFA 23Simulation, SportsEA Canada & EA RomaniaElectronic Arts29 Sep, 2022Mixed17,754Football (Soccer), Sports, eSports, Controller...YesNoNoNo
\n", + "
" + ], + "text/plain": [ + " Game_Title Genre \\\n", + "0 Counter-Strike: Global Offensive Action, Free to Play \n", + "1 Dota 2 Action, Free to Play, Strategy \n", + "2 Call of Duty®: Modern Warfare® II Action \n", + "4 ELDEN RING Action, RPG \n", + "5 EA SPORTS™ FIFA 23 Simulation, Sports \n", + "\n", + " Developer \\\n", + "0 Valve, Hidden Path Entertainment \n", + "1 Valve \n", + "2 Infinity Ward, Raven Software, Beenox, Treyarc... \n", + "4 FromSoftware Inc. \n", + "5 EA Canada & EA Romania \n", + "\n", + " Publisher Release_Date All_Reviews \\\n", + "0 Valve 21 Aug, 2012 Very Positive \n", + "1 Valve 9 Jul, 2013 Very Positive \n", + "2 Activision 27 Oct, 2022 Mixed \n", + "4 FromSoftware Inc., Bandai Namco Entertainment 24 Feb, 2022 Very Positive \n", + "5 Electronic Arts 29 Sep, 2022 Mixed \n", + "\n", + " All_Votes User_Defined_Tags Win Mac \\\n", + "0 80,720 FPS, Shooter, Multiplayer, Competitive, Action Yes Yes \n", + "1 22,501 Free to Play, MOBA, Multiplayer, Strategy, eSp... Yes Yes \n", + "2 21,077 FPS, Action, Shooter, Multiplayer, Singleplayer Yes No \n", + "4 21,519 Souls-like, Dark Fantasy, RPG, Open World, Dif... Yes No \n", + "5 17,754 Football (Soccer), Sports, eSports, Controller... Yes No \n", + "\n", + " Linux VR_Supported \n", + "0 Yes No \n", + "1 Yes No \n", + "2 No No \n", + "4 No No \n", + "5 No No " + ] + }, + "execution_count": 125, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "GL_df = pd.read_csv('data/Steam_Games_Top100_GL_w_c_20Dec.csv', index_col=0, delimiter=',')\n", + "GL_df = data_clean('data/Steam_Games_Top100_GL_w_c_20Dec.csv')\n", + "\n", + "GL_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 136, + "id": "ddf94024", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "labels_GL_G = get_labels(GL_df, 'Genre')\n", + "\n", + "total = []\n", + "for i in range (6):\n", + " genre = list(labels_GL_G[i].values)\n", + " total.extend(genre)\n", + "\n", + "labels_GL_G = pd.DataFrame()\n", + "labels_GL_G[0] = total\n", + "\n", + "sns.countplot(data=labels_GL_G, x=0,order=labels_GL_G[0].value_counts().iloc[:10].index)\n", + "plt.xticks(rotation=90)\n", + "plt.title('Top10 Global Steam Games Genre')\n", + "plt.xlabel('Genre')\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 137, + "id": "05ee7ac3", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "labels_US_G = get_labels(US_df, 'Genre')\n", + "\n", + "total = []\n", + "for i in range (6):\n", + " genre = list(labels_US_G[i].values)\n", + " total.extend(genre)\n", + "\n", + "labels_US_G = pd.DataFrame()\n", + "labels_US_G[0] = total\n", + "\n", + "sns.countplot(data=labels_US_G, x=0,order=labels_US_G[0].value_counts().iloc[:10].index)\n", + "plt.title('Top10 US Steam Games Genre')\n", + "plt.xticks(rotation=90)\n", + "plt.xlabel('Genre')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "2d061843", + "metadata": {}, + "source": [ + "What US games and World games have in common is that in the top 100 most popular games, the most popular genres are similar, for example, action is the most popular game. And the structure of the popular games are similar." + ] + }, + { + "cell_type": "markdown", + "id": "0aca8c34", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "74e808db", + "metadata": {}, + "source": [ + "#### 4. What are the differences in the popular game genres on steam platform between China and Japan, which are also Asian countries?" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "585abcbb", + "metadata": {}, + "outputs": [], + "source": [ + "url = 'https://store.steampowered.com/charts/topsellers/JP/2022-12-20'\n", + "chromedriver_path = 'chromedriver'\n", + "\n", + "urls = get_links (url, chromedriver_path)\n", + "filename = 'Steam_Games_Top100_JP_w_c_20Dec.csv'\n", + "get_steam_csv (urls, filename)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "31e78c91", + "metadata": {}, + "outputs": [], + "source": [ + "url = 'https://store.steampowered.com/charts/topsellers/CN/2022-12-20'\n", + "chromedriver_path = 'chromedriver'\n", + "\n", + "urls = get_links (url, chromedriver_path)\n", + "filename = 'Steam_Games_Top100_CN_w_c_20Dec.csv'\n", + "get_steam_csv (urls, filename)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "8ba6a06a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Game_TitleGenreDeveloperPublisherRelease_DateAll_ReviewsAll_VotesUser_Defined_TagsWinMacLinuxVR_Supported
0ELDEN RINGAction, RPGFromSoftware Inc.FromSoftware Inc., Bandai Namco Entertainment24 Feb, 2022Very Positive21,838Souls-like, Dark Fantasy, RPG, Open World, Dif...YesNoNoNo
1Apex Legends™Action, Adventure, Free to PlayRespawn EntertainmentElectronic Arts4 Nov, 2020Very Positive24,552Free to Play, Multiplayer, Battle Royale, Shoo...YesNoNoNo
2Tower of FantasyAction, Free to Play, Massively Multiplayer, RPGHotta StudioLevel Infinite19 Oct, 2022Mostly Positive623RPG, MMORPG, Action, Action-Adventure, AnimeYesNoNoNo
3Yu-Gi-Oh! Master DuelFree to Play, Simulation, StrategyKonami Digital EntertainmentKonami Digital Entertainment18 Jan, 2022Mostly Positive1,434Card Game, Free to Play, Strategy, Trading Car...YesNoNoNo
4Call of Duty®: Modern Warfare® IIActionInfinity Ward, Raven Software, Beenox, Treyarc...Activision27 Oct, 2022Mixed20,346FPS, Action, Multiplayer, Shooter, SingleplayerYesNoNoNo
\n", + "
" + ], + "text/plain": [ + " Game_Title \\\n", + "0 ELDEN RING \n", + "1 Apex Legends™ \n", + "2 Tower of Fantasy \n", + "3 Yu-Gi-Oh! Master Duel \n", + "4 Call of Duty®: Modern Warfare® II \n", + "\n", + " Genre \\\n", + "0 Action, RPG \n", + "1 Action, Adventure, Free to Play \n", + "2 Action, Free to Play, Massively Multiplayer, RPG \n", + "3 Free to Play, Simulation, Strategy \n", + "4 Action \n", + "\n", + " Developer \\\n", + "0 FromSoftware Inc. \n", + "1 Respawn Entertainment \n", + "2 Hotta Studio \n", + "3 Konami Digital Entertainment \n", + "4 Infinity Ward, Raven Software, Beenox, Treyarc... \n", + "\n", + " Publisher Release_Date \\\n", + "0 FromSoftware Inc., Bandai Namco Entertainment 24 Feb, 2022 \n", + "1 Electronic Arts 4 Nov, 2020 \n", + "2 Level Infinite 19 Oct, 2022 \n", + "3 Konami Digital Entertainment 18 Jan, 2022 \n", + "4 Activision 27 Oct, 2022 \n", + "\n", + " All_Reviews All_Votes \\\n", + "0 Very Positive 21,838 \n", + "1 Very Positive 24,552 \n", + "2 Mostly Positive 623 \n", + "3 Mostly Positive 1,434 \n", + "4 Mixed 20,346 \n", + "\n", + " User_Defined_Tags Win Mac Linux \\\n", + "0 Souls-like, Dark Fantasy, RPG, Open World, Dif... Yes No No \n", + "1 Free to Play, Multiplayer, Battle Royale, Shoo... Yes No No \n", + "2 RPG, MMORPG, Action, Action-Adventure, Anime Yes No No \n", + "3 Card Game, Free to Play, Strategy, Trading Car... Yes No No \n", + "4 FPS, Action, Multiplayer, Shooter, Singleplayer Yes No No \n", + "\n", + " VR_Supported \n", + "0 No \n", + "1 No \n", + "2 No \n", + "3 No \n", + "4 No " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.options.display.max_rows = 400\n", + "JP_df=pd.read_csv('data/Steam_Games_Top100_JP_w_c_20Dec.csv', index_col=0, delimiter=',', encoding='utf-8')\n", + "\n", + "JP_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "5d73f25e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Game_TitleGenreDeveloperPublisherRelease_DateAll_ReviewsAll_VotesUser_Defined_TagsWinMacLinuxVR_Supported
0ELDEN RINGAction, RPGFromSoftware Inc.FromSoftware Inc., Bandai Namco Entertainment24 Feb, 2022Very Positive21,838Souls-like, Dark Fantasy, RPG, Open World, Dif...YesNoNoNo
1Apex Legends™Action, Adventure, Free to PlayRespawn EntertainmentElectronic Arts4 Nov, 2020Very Positive24,552Free to Play, Multiplayer, Battle Royale, Shoo...YesNoNoNo
2Tower of FantasyAction, Free to Play, Massively Multiplayer, RPGHotta StudioLevel Infinite19 Oct, 2022Mostly Positive623RPG, MMORPG, Action, Action-Adventure, AnimeYesNoNoNo
3Yu-Gi-Oh! Master DuelFree to Play, Simulation, StrategyKonami Digital EntertainmentKonami Digital Entertainment18 Jan, 2022Mostly Positive1,434Card Game, Free to Play, Strategy, Trading Car...YesNoNoNo
4Call of Duty®: Modern Warfare® IIActionInfinity Ward, Raven Software, Beenox, Treyarc...Activision27 Oct, 2022Mixed20,346FPS, Action, Multiplayer, Shooter, SingleplayerYesNoNoNo
\n", + "
" + ], + "text/plain": [ + " Game_Title \\\n", + "0 ELDEN RING \n", + "1 Apex Legends™ \n", + "2 Tower of Fantasy \n", + "3 Yu-Gi-Oh! Master Duel \n", + "4 Call of Duty®: Modern Warfare® II \n", + "\n", + " Genre \\\n", + "0 Action, RPG \n", + "1 Action, Adventure, Free to Play \n", + "2 Action, Free to Play, Massively Multiplayer, RPG \n", + "3 Free to Play, Simulation, Strategy \n", + "4 Action \n", + "\n", + " Developer \\\n", + "0 FromSoftware Inc. \n", + "1 Respawn Entertainment \n", + "2 Hotta Studio \n", + "3 Konami Digital Entertainment \n", + "4 Infinity Ward, Raven Software, Beenox, Treyarc... \n", + "\n", + " Publisher Release_Date \\\n", + "0 FromSoftware Inc., Bandai Namco Entertainment 24 Feb, 2022 \n", + "1 Electronic Arts 4 Nov, 2020 \n", + "2 Level Infinite 19 Oct, 2022 \n", + "3 Konami Digital Entertainment 18 Jan, 2022 \n", + "4 Activision 27 Oct, 2022 \n", + "\n", + " All_Reviews All_Votes \\\n", + "0 Very Positive 21,838 \n", + "1 Very Positive 24,552 \n", + "2 Mostly Positive 623 \n", + "3 Mostly Positive 1,434 \n", + "4 Mixed 20,346 \n", + "\n", + " User_Defined_Tags Win Mac Linux \\\n", + "0 Souls-like, Dark Fantasy, RPG, Open World, Dif... Yes No No \n", + "1 Free to Play, Multiplayer, Battle Royale, Shoo... Yes No No \n", + "2 RPG, MMORPG, Action, Action-Adventure, Anime Yes No No \n", + "3 Card Game, Free to Play, Strategy, Trading Car... Yes No No \n", + "4 FPS, Action, Multiplayer, Shooter, Singleplayer Yes No No \n", + "\n", + " VR_Supported \n", + "0 No \n", + "1 No \n", + "2 No \n", + "3 No \n", + "4 No " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "JP_df = data_clean('data/Steam_Games_Top100_JP_w_c_20Dec.csv')\n", + "\n", + "JP_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 138, + "id": "4b63ea26", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "labels_JP_G = get_labels(JP_df, 'Genre')\n", + "\n", + "total = []\n", + "for i in range (6):\n", + " genre = list(labels_JP_G[i].values)\n", + " total.extend(genre)\n", + "\n", + "labels_JP_G = pd.DataFrame()\n", + "labels_JP_G[0] = total\n", + "\n", + "sns.countplot(data=labels_JP_G, x=0,order=labels_JP_G[0].value_counts().iloc[:10].index)\n", + "plt.xticks(rotation=90)\n", + "plt.title('Top10 Japan Steam Games Genre')\n", + "plt.xlabel('Genre')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 140, + "id": "f58d5caf", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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EREREVNI0hwRERERMYUkzRERERERU0jSHBERERExhSTNERERERFTSNIcERERETGFJM0REREREVPockfAOeXaLxzYOMbqe+3TwkgiIiIiYrbJTHNERERExBSSNEdERERETCFJc0RERETEFJI0R0RERERMIUlzRERERMQUOkuaJS0r6WxJF0q6VNIB9fiqko6X9Nv69ypdjSEiIiIiog1dzjTfAWxneyNgY+BpkrYE3gKcYHt94IR6OyIiIiJi1uosaXbxr3pz6frHwHOBQ+vxQ4HtuxpDREREREQbOq1plrSkpAuAa4HjbZ8FrGH7aoD69+oTPHZPSedIOue6667rcpgREREREZPqNGm2fbftjYEHAltIetQiPPZg25vZ3mzBggWdjTEiIiIiYioz0j3D9o3AScDTgGskrQlQ/752JsYQERERETGoLrtnLJB0v/r1csCTgcuBHwK71W/bDfhBV2OIiIiIiGjDUh3GXhM4VNKSlOT8O7aPkXQG8B1JewB/Bl7Q4RgiIiIiIhrrLGm2fRGwyTjH/wE8qavnnW2u+tzrW4mz1t6faCVORERERCy67AgYERERETGFJM0REREREVNI0hwRERERMYUkzRERERERU0jSHBERERExhSTNERERERFTSNIcERERETGFJM0REREREVNI0hwRERERMYUkzRERERERU0jSHBERERExhSTNERERERFTSNIcERERETGFJM0REREREVPoLGmWtLakEyVdJulSSfvW4++W9DdJF9Q/z+hqDBERERERbViqw9h3AW+wfZ6kFYFzJR1f7/uk7Y91+NwREREREa3pLGm2fTVwdf36FkmXAQ/o6vkiIiIiIrrS5UzzvSStC2wCnAU8HniNpJcC51Bmo28Y5zF7AnsCrLPOOjMxzDnl8s89t5U4D9/7B63EiYiIiFicdb4QUNJ9gSOB/WzfDBwErAdsTJmJ/vh4j7N9sO3NbG+2YMGCrocZERERETGhTpNmSUtTEubDbR8FYPsa23fbvgf4ErBFl2OIiIiIiGiqy+4ZAr4CXGb7E33H1+z7th2AS7oaQ0REREREG7qsaX488BLgYkkX1GNvA3aRtDFg4ErgVR2OISIiIiKisS67Z5wKaJy7ftLVc0ZEREREdCE7AkZERERETCFJc0RERETEFJI0R0RERERMIUlzRERERMQUkjRHREREREwhSXNERERExBSSNEdERERETCFJc0RERETEFJI0R0RERERMIUlzRERERMQUkjRHREREREwhSXNERERExBSSNEdERERETCFJc0RERETEFDpLmiWtLelESZdJulTSvvX4qpKOl/Tb+vcqXY0hIiIiIqINXc403wW8wfYjgC2BvSVtCLwFOMH2+sAJ9XZERERExKw1raRZ0gnTOdbP9tW2z6tf3wJcBjwAeC5waP22Q4HtF2G8EREREREzbqnJ7pS0LLA8sFoto1C9ayVgrek+iaR1gU2As4A1bF8NJbGWtPoEj9kT2BNgnXXWme5TRURERES0btKkGXgVsB8lQT6XkaT5ZuBz03kCSfcFjgT2s32zpKkeAoDtg4GDATbbbDNP60ERERERER2YNGm2/Wng05Jea/szixpc0tKUhPlw20fVw9dIWrPOMq8JXLvIo46IiIiImEFTzTQDYPszkrYG1u1/jO2vT/QYlSnlrwCX2f5E310/BHYDPlT//sGiDzsiIiIiYuZMK2mWdBiwHnABcHc9bGDCpBl4PPAS4GJJF9Rjb6Mky9+RtAfwZ+AFizzqiIiIiIgZNK2kGdgM2ND2tGuLbZ/KSA30WE+abpyIiIiIiGGbbp/mS4D7dzmQiIiIiIjZarozzasBv5Z0NnBH76Dt53QyqoiIiIiIWWS6SfO7uxxERERERMRsNt3uGSd3PZCYHc44+FmtxNlqz2NaiRMRERExG0y3e8YtlG4ZAMsASwP/tr1SVwOLiIiIiJgtpjvTvGL/bUnbA1t0MaCIiIiIiNlmut0zRrH9fWC7docSERERETE7Tbc843l9N5eg9G2eds/miIiIiIi5bLrdM57d9/VdwJXAc1sfTSzWjv3KM1qJ8797/KSVOBERERHTNd2a5t27HkhERERExGw1rZpmSQ+UdLSkayVdI+lISQ/senAREREREbPBdBcCHgL8EFgLeADwo3osIiIiImKxN92keYHtQ2zfVf98DVjQ4bgiIiIiImaN6SbN10t6saQl658XA//ocmAREREREbPFdJPmlwMvBP4OXA3sCEy6OFDSV2sN9CV9x94t6W+SLqh/2mmnEBERERHRoekmze8FdrO9wPbqlCT63VM85mvA08Y5/knbG9c/6R0WEREREbPedJPmx9i+oXfD9j+BTSZ7gO1TgH82GFtERERExKww3aR5CUmr9G5IWpXpb4wy1mskXVTLN1aZ6Jsk7SnpHEnnXHfddQM+VUREREREc9NNmj8OnC7pvZLeA5wOfGSA5zsIWA/YmFIb/fGJvtH2wbY3s73ZggVp1BERERERwzPdHQG/LukcYDtAwPNs/3pRn8z2Nb2vJX0JOGZRY0REREREzLRpl1jUJHmRE+V+kta0fXW9uQNwyWTfHxERERExGwxalzwlSUcATwRWk/RXYH/giZI2BgxcCbyqq+ePiIiIiGhLZ0mz7V3GOfyVrp4vIiIiIqIr010IGBERERExbyVpjoiIiIiYQpLmiIiIiIgpdFbTHDFTvnfIeLu1L7odd//ZqNuHHPrUVuLuvttxCx078PD/bSX2Prse20qciIiImFxmmiMiIiIippCkOSIiIiJiCkmaIyIiIiKmkKQ5IiIiImIKSZojIiIiIqaQpDkiIiIiYgpJmiMiIiIippCkOSIiIiJiCkmaIyIiIiKmkKQ5IiIiImIKnSXNkr4q6VpJl/QdW1XS8ZJ+W/9epavnj4iIiIhoS5czzV8Dnjbm2FuAE2yvD5xQb0dEREREzGqdJc22TwH+Oebwc4FD69eHAtt39fwREREREW1Zaoafbw3bVwPYvlrS6hN9o6Q9gT0B1llnnRkaXsTc9u7v/G87cV54bCtxIiIiFhezdiGg7YNtb2Z7swULFgx7OBERERExj8100nyNpDUB6t/XzvDzR0REREQssplOmn8I7Fa/3g34wQw/f0RERETEIuusplnSEcATgdUk/RXYH/gQ8B1JewB/Bl7Q1fNHRHt2P3psI5zBHLLDzxY69vQf7N1K7J8+93Ojbj/j6Pe1EvcnO7xj1O1nHnVgK3F//Lx9WokTEREzo7Ok2fYuE9z1pK6eMyIiIiKiC7N2IWBERERExGyRpDkiIiIiYgpJmiMiIiIippCkOSIiIiJiCkmaIyIiIiKmkKQ5IiIiImIKSZojIiIiIqbQWZ/miIhYNM888sutxPnx818x6vazvnd4K3GP2XHXUbef/b2jWon7ox2ft9Cx535v4Y1wFtUPdlx4U54djjy1cVyAo5+/TStxImLuyExzRERERMQUkjRHREREREwhSXNERERExBSSNEdERERETCELASMiIhp6wZEXtRLnu89/TCtxIqJ9Q0maJV0J3ALcDdxle7NhjCMiIiIiYjqGOdO8re3rh/j8ERERERHTkprmiIiIiIgpDCtpNnCcpHMl7TmkMURERERETMuwyjMeb/sqSasDx0u63PYp/d9Qk+k9AdZZZ51hjDEiImLo9jn6L41jHLjD2gsd+9zR1zSOC7D3DmuMun3U99qpvHzejqstdOzEw69rHHfbXRc0jhHz01Bmmm1fVf++Fjga2GKc7znY9ma2N1uwIC/wiIiIiBieGU+aJa0gacXe18BTgUtmehwREREREdM1jPKMNYCjJfWe/5u2fzaEcURERERETMuMJ822/wBsNNPPGxERETGe8798bStxNnnF6qNuX/mpv7cSd9397r/Qsb9/7HeN497/jQ9d6Ng1nzq3cVyANfZ77Oi4B57UTtx9njjq9rWf+1ErcVff+9lTfk9azkVERERETCFJc0RERETEFJI0R0RERERMIUlzRERERMQUkjRHREREREwhSXNERERExBSSNEdERERETCFJc0RERETEFJI0R0RERERMIUlzRERERMQUkjRHREREREwhSXNERERExBSSNEdERERETCFJc0RERETEFIaSNEt6mqQrJP1O0luGMYaIiIiIiOma8aRZ0pLA54CnAxsCu0jacKbHERERERExXcOYad4C+J3tP9j+D/At4LlDGEdERERExLTI9sw+obQj8DTbr6i3XwI8zvZrxnzfnsCe9ebDgCum+RSrAde3NNyZiNtl7LkWt8vYcy1ul7HnWtwuY8+1uF3Gnmtxu4w91+J2GTtxu4891+J2GXu2xH2Q7QVjDy7V3nimTeMcWyhzt30wcPAiB5fOsb3ZIAMbRtwuY8+1uF3Gnmtxu4w91+J2GXuuxe0y9lyL22XsuRa3y9iJ233suRa3y9izPe4wyjP+Cqzdd/uBwFVDGEdERERExLQMI2n+FbC+pAdLWgbYGfjhEMYRERERETEtM16eYfsuSa8BjgWWBL5q+9IWn2KRSzqGHLfL2HMtbpex51rcLmPPtbhdxp5rcbuMPdfidhl7rsXtMnbidh97rsXtMvasjjvjCwEjIiIiIuaa7AgYERERETGFJM0REREREVNI0hwRERERMYUkzRGx2JO0pKT79t3eUtL/1D8rthD/SEnPlDRn3lMlPXg6x2J+kbTuOMc2H8JQpkXSvtM5NltJWkLSSsMeR0xPFgIOQf1gvcj2o1qK97zJ7rd9VMP4SwBb2j69SZxJ4i8HrGN7urs+Thbr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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "labels_JP_T = get_labels(JP_df, 'User_Defined_Tags')\n", + "\n", + "total = []\n", + "for i in range (5):\n", + " tag = list(labels_JP_T[i].values)\n", + " total.extend(tag)\n", + "\n", + "labels_JP_T = pd.DataFrame()\n", + "labels_JP_T[0] = total\n", + "\n", + "plt.figure(figsize=(12,3))\n", + "sns.countplot(data=labels_JP_T, x=0,order=labels_JP_T[0].value_counts().iloc[:30].index)\n", + "plt.xticks(rotation=90)\n", + "plt.title('Top30 Japan Steam Games Tags')\n", + "plt.xlabel('Tags')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "4eeb4945", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Game_TitleGenreDeveloperPublisherRelease_DateAll_ReviewsAll_VotesUser_Defined_TagsWinMacLinuxVR_Supported
0Call of Duty®: Modern Warfare® IIActionInfinity Ward, Raven Software, Beenox, Treyarc...Activision27 Oct, 2022Mixed19,634FPS, Action, Multiplayer, Shooter, SingleplayerYesNoNoNo
1ELDEN RINGAction, RPGFromSoftware Inc.FromSoftware Inc., Bandai Namco Entertainment24 Feb, 2022Very Positive21,655Souls-like, Dark Fantasy, RPG, Open World, Dif...YesNoNoNo
2Apex Legends™Action, Adventure, Free to PlayRespawn EntertainmentElectronic Arts4 Nov, 2020Very Positive24,330Free to Play, Multiplayer, Battle Royale, Shoo...YesNoNoNo
3PUBG: BATTLEGROUNDSAction, Adventure, Free to Play, Massively Mul...KRAFTON, Inc.KRAFTON, Inc.21 Dec, 2017Mixed15,566Survival, Shooter, Battle Royale, Multiplayer,...YesNoNoNo
4Counter-Strike: Global OffensiveAction, Free to PlayValve, Hidden Path EntertainmentValve21 Aug, 2012Very Positive81,119FPS, Shooter, Multiplayer, Competitive, ActionYesYesYesNo
\n", + "
" + ], + "text/plain": [ + " Game_Title \\\n", + "0 Call of Duty®: Modern Warfare® II \n", + "1 ELDEN RING \n", + "2 Apex Legends™ \n", + "3 PUBG: BATTLEGROUNDS \n", + "4 Counter-Strike: Global Offensive \n", + "\n", + " Genre \\\n", + "0 Action \n", + "1 Action, RPG \n", + "2 Action, Adventure, Free to Play \n", + "3 Action, Adventure, Free to Play, Massively Mul... \n", + "4 Action, Free to Play \n", + "\n", + " Developer \\\n", + "0 Infinity Ward, Raven Software, Beenox, Treyarc... \n", + "1 FromSoftware Inc. \n", + "2 Respawn Entertainment \n", + "3 KRAFTON, Inc. \n", + "4 Valve, Hidden Path Entertainment \n", + "\n", + " Publisher Release_Date All_Reviews \\\n", + "0 Activision 27 Oct, 2022 Mixed \n", + "1 FromSoftware Inc., Bandai Namco Entertainment 24 Feb, 2022 Very Positive \n", + "2 Electronic Arts 4 Nov, 2020 Very Positive \n", + "3 KRAFTON, Inc. 21 Dec, 2017 Mixed \n", + "4 Valve 21 Aug, 2012 Very Positive \n", + "\n", + " All_Votes User_Defined_Tags Win Mac \\\n", + "0 19,634 FPS, Action, Multiplayer, Shooter, Singleplayer Yes No \n", + "1 21,655 Souls-like, Dark Fantasy, RPG, Open World, Dif... Yes No \n", + "2 24,330 Free to Play, Multiplayer, Battle Royale, Shoo... Yes No \n", + "3 15,566 Survival, Shooter, Battle Royale, Multiplayer,... Yes No \n", + "4 81,119 FPS, Shooter, Multiplayer, Competitive, Action Yes Yes \n", + "\n", + " Linux VR_Supported \n", + "0 No No \n", + "1 No No \n", + "2 No No \n", + "3 No No \n", + "4 Yes No " + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.options.display.max_rows = 400\n", + "CN_df=pd.read_csv('data/Steam_Games_Top100_CN_w_c_20Dec.csv', index_col=0, delimiter=',', encoding='utf-8')\n", + "\n", + "CN_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "f3a0ba6f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Game_TitleGenreDeveloperPublisherRelease_DateAll_ReviewsAll_VotesUser_Defined_TagsWinMacLinuxVR_Supported
0Call of Duty®: Modern Warfare® IIActionInfinity Ward, Raven Software, Beenox, Treyarc...Activision27 Oct, 2022Mixed19,634FPS, Action, Multiplayer, Shooter, SingleplayerYesNoNoNo
1ELDEN RINGAction, RPGFromSoftware Inc.FromSoftware Inc., Bandai Namco Entertainment24 Feb, 2022Very Positive21,655Souls-like, Dark Fantasy, RPG, Open World, Dif...YesNoNoNo
2Apex Legends™Action, Adventure, Free to PlayRespawn EntertainmentElectronic Arts4 Nov, 2020Very Positive24,330Free to Play, Multiplayer, Battle Royale, Shoo...YesNoNoNo
3PUBG: BATTLEGROUNDSAction, Adventure, Free to Play, Massively Mul...KRAFTON, Inc.KRAFTON, Inc.21 Dec, 2017Mixed15,566Survival, Shooter, Battle Royale, Multiplayer,...YesNoNoNo
4Counter-Strike: Global OffensiveAction, Free to PlayValve, Hidden Path EntertainmentValve21 Aug, 2012Very Positive81,119FPS, Shooter, Multiplayer, Competitive, ActionYesYesYesNo
\n", + "
" + ], + "text/plain": [ + " Game_Title \\\n", + "0 Call of Duty®: Modern Warfare® II \n", + "1 ELDEN RING \n", + "2 Apex Legends™ \n", + "3 PUBG: BATTLEGROUNDS \n", + "4 Counter-Strike: Global Offensive \n", + "\n", + " Genre \\\n", + "0 Action \n", + "1 Action, RPG \n", + "2 Action, Adventure, Free to Play \n", + "3 Action, Adventure, Free to Play, Massively Mul... \n", + "4 Action, Free to Play \n", + "\n", + " Developer \\\n", + "0 Infinity Ward, Raven Software, Beenox, Treyarc... \n", + "1 FromSoftware Inc. \n", + "2 Respawn Entertainment \n", + "3 KRAFTON, Inc. \n", + "4 Valve, Hidden Path Entertainment \n", + "\n", + " Publisher Release_Date All_Reviews \\\n", + "0 Activision 27 Oct, 2022 Mixed \n", + "1 FromSoftware Inc., Bandai Namco Entertainment 24 Feb, 2022 Very Positive \n", + "2 Electronic Arts 4 Nov, 2020 Very Positive \n", + "3 KRAFTON, Inc. 21 Dec, 2017 Mixed \n", + "4 Valve 21 Aug, 2012 Very Positive \n", + "\n", + " All_Votes User_Defined_Tags Win Mac \\\n", + "0 19,634 FPS, Action, Multiplayer, Shooter, Singleplayer Yes No \n", + "1 21,655 Souls-like, Dark Fantasy, RPG, Open World, Dif... Yes No \n", + "2 24,330 Free to Play, Multiplayer, Battle Royale, Shoo... Yes No \n", + "3 15,566 Survival, Shooter, Battle Royale, Multiplayer,... Yes No \n", + "4 81,119 FPS, Shooter, Multiplayer, Competitive, Action Yes Yes \n", + "\n", + " Linux VR_Supported \n", + "0 No No \n", + "1 No No \n", + "2 No No \n", + "3 No No \n", + "4 Yes No " + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CN_df = data_clean('data/Steam_Games_Top100_CN_w_c_20Dec.csv')\n", + "\n", + "CN_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 139, + "id": "c669e866", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "labels_CN_G = get_labels(CN_df, 'Genre')\n", + "\n", + "total = []\n", + "for i in range (6):\n", + " genre = list(labels_CN_G[i].values)\n", + " total.extend(genre)\n", + "\n", + "labels_CN_G = pd.DataFrame()\n", + "labels_CN_G[0] = total\n", + "\n", + "sns.countplot(data=labels_CN_G, x=0,order=labels_CN_G[0].value_counts().iloc[:10].index)\n", + "plt.xticks(rotation=90)\n", + "plt.title('Top10 China Steam Games Genre')\n", + "plt.xlabel('Genre')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 141, + "id": "657d88ce", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAs0AAAFXCAYAAABZWnM5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABc6UlEQVR4nO3dd5hkVbX+8e8LiKACogyIAfEiqIgSBJRwf9d8RVFRkCAoIoqYkOs1XSOYc46gIgqiIKJgAgUBlSQ5KAaCEQkKgoAo8P7+2Lumq3u6u3rqnNPdNf1+nqef6arqWrWnu8I6+6y9tmwTERERERFTW26uBxARERERMd8laY6IiIiIGCBJc0RERETEAEmaIyIiIiIGSNIcERERETFAkuaIiIiIiAGSNEdETELSupIsaYUpbn+jpM/P9rgiImJuJGmOiE5I+kff152Sbu27vPuQMfeXdLmkGyX9WdJH+pPamuj+WNItki6V9MQB8TaQdJSk6yT9XdKFkl4taflBY7H9btsvGub/MYikvev4b5J0taTvSlql3vYlSe/s4nGHIWltSQfXv8c/6t/nS5IeOtdjm4yk3fueh7fW5+bi5+pcjy8i5q8kzRHRCdv36H0Bvwee3nfd4UOGPQ7YzPaqwEbAxsB+fbcfAZwH3Bt4E/ANSYsmCyRpPeBM4A/AI2yvBjwH2BxYZcjxNSbpv4B3A7vZXgV4GHDkXI1nOpLuDZwG3A34T8rvbTPgFOBJczi0Kdk+vO95uR3w5wnP1YiISSVpjohZJemukj5aZyb/XL+/a73tsZL+WEsfrpN0Zf+stO3LbN/QCwXcCTy43ncDSsL2Ntu32j4auAjYcYqhHAicZvvVtq+q8X9l+7l9jwGwu6Tf1/G8qe//cYCkw+r3vVKOPaf42S0lnS7pBklXSfqkpBWnGNcWwOm2z6tj+pvtQ23fJGkfYHfgdXVm9Lga/76SjpZ0raQrJC0+kBj02HXcL5P0mzqz/Q5J69X73CjpyGnG+j/AjcDz6t/Gtm+wfYjtT/Q9xlGS/lJn80+V9PC+274k6dOSvl//Tz+TdJ/6vLi+zrhv2vfzg/6vZ9dxXy3pw1OMe1KS3iDpsvp7+IWkZ/XdtrykD9W/7RWSXqG+8h1JL6iz7DfV24c6mxIR81eS5oiYbW8CHgNsQpkp3hJ4c9/t9wHWAO4H7AkcJOkhvRslPVfSjcB19f6fqzc9HLjc9k19sS6o10/micA3ZjDebYGHAE8A3irpYUP87B2UBHMNYKt6+8umiHEm8N+SDpS0Te+AAsD2QcDhwPvrzOjTJS1HmYG/gPI7ewKwv6T/XorHfgrwKMrf5XXAQZTk/AGUGf3dphjrE4FjbN85ze8E4PvA+sCawLn1/9BvZ8pzYA3gNuD0+nNrUP5GHwaYwf/1Y8DH6pmI9Vj6GfrLKDPmq1EOqg6TtHa97cWUmelNKAdnO/TuJOnuwMeB7erZga2B85fysSNinkvSHBGzbXfg7bavsX0tJTl53oSfeYvt22yfAnyXklQBYPurNSnaAPgscHW96R7A3yfE+TtTl1rcG7hqBuM9sM5cX0BJ1jZe2p+1fY7tM2zfbvtKSqL/X5MFsP0T4NmUxOy7wF8lfVhT11lvASyy/Xbb/7J9OXAwsOtSPPb7bN9o+xLgYuAE25fb/jsl4d2Uya0B/KV3QdIz6oz2TZJO6Ps/fdH2TbZvAw4ANpa0Wl+cY+o4/wkcA/zT9pdt3wF8ve/xp/2/Av8GHixpDdv/sH3GFOOelO2jbP/Z9p22vw78hnJQB+U5+DHbf7R9PfDeCXe/E9hI0sq2r6q/y4hYhiRpjojZdl/gd32Xf1ev67ne9s3T3A6A7d8AlwCfrlf9A1h1wo+tCtzE5P4KrD3Fbf3+0vf9LZTkfKl+VmXB4XdqicKNlJrlNaYKYvv7tp8O3At4JvACYKpFhw8E7luT1Rsk3QC8EVhrKR776r7vb53k8lT/53G/Q9vH2r4nZWZ7xfr4y0t6by17uBG4sv54/xhm+vjT/l+BvSkHU5dK+rmk7acY96QkPV/S+X2xN+ob530p9e89i7+vz9ddgH2Bq1QWbs7LhZARMbwkzREx2/5MSX561qnX9axeT3dPdXu/FSin4aEk0P+h2mWi2rheP5kfMXW9c9s+A1wKrF9nyd9IqcmeVp3xPBE4iZLAAXjCj/0BuML2Pfu+VrH91CaPPUMnAjvUsompPJeS+D+RUvawbr1+mDFM+3+1/Rvbu1HKQN5HWQh69+kC9kh6IGXW+hXAvWvyf3HfOK8C7t93lwf039/28bafRDmIuLTGiohlSJLmiJhtRwBvlrRI0hrAW4HDJvzMgZJWlPSfwPbAUQCSXiRpzfr9hsD/URI3bP+aUkf6Nkkr1UVcjwSOnmIcbwO2lvQBSfepMR8s6TBJ92zvvwuUEpEbgX/UGciXTvWDkp4paVdJq6vYklJO0Ss1uBr4j767nAXcKOn1klauM7sbSdpiaR97CB8GVge+orJ4UPWgZZO+n1mFUqf8V0qXjXc3eLxp/6+S9pC0qNZY31Dvc8cMY9+dckBybY21F2MHKlDqo18l6X71+fH63g2S1qqlKXen/F//sRSPGxEjIklzRMy2dwJnAxdSulucW6/r+QtwPWV2+XBgX9uX1tu2AS6SdDPwvfr1xr777kppGderOd2p1k0vwfZllIVx6wKXSPo7JcE+m6lLOob1GsqM602UGcivT/Oz11MWnf2GkuweBnygr03fF4ANawnBt2rd79MpieoVlAWSn6fM6i7tYy8V29dRFg/+E/hpfYzzKYlyLzn/MqXE5k/ALxhL/od5vEH/16dQ/pb/oCwK3LXWSc8k9i+AD1EWIV4NPAL4Wd+PHAycQHnenkd57t1OSY6XA/6X8pz9G+UgZ6qFnhExomRPPNMXETE3JD0WOMz2/Qf8aMSckrQd8FnbDxz4wxGxTMhMc0RExAC1HOSpklaQdD9Kec8xcz2uiJg9SZojIiIGE6U94vWU8oxfUurxI2KBSHlGRERERMQAmWmOiIiIiBhghbkewEysscYaXnfdded6GBERERGxjDvnnHOus71o4vUjkTSvu+66nH322XM9jIiIiIhYxkn63WTXpzwjIiIiImKAJM0REREREQMkaY6IiIiIGCBJc0RERETEAEmaIyIiIiIGSNIcERERETHASLSc67n2M4e1EmfRS/doJU5ERERELAyZaY6IiIiIGCBJc0RERETEAEmaIyIiIiIG6DxplrS8pPMkfadevpekH0r6Tf139a7HEBERERHRxGzMNL8K+GXf5TcAJ9peHzixXo6IiIiImLc6TZol3R94GvD5vqufCRxavz8U2KHLMURERERENNX1TPNHgdcBd/Zdt5btqwDqv2t2PIaIiIiIiEY6S5olbQ9cY/ucIe+/j6SzJZ197bXXtjy6iIiIiIiZ63KmeRvgGZKuBL4GPF7SYcDVktYGqP9eM9mdbR9ke3Pbmy9atKjDYUZERERETK+zpNn2/9m+v+11gV2Bk2zvARwL7Fl/bE/g212NISIiIiKiDXPRp/m9wJMk/QZ4Ur0cERERETFvrTAbD2L7ZODk+v1fgSfMxuNGRERERLQhOwJGRERERAyQpDkiIiIiYoAkzRERERERAyRpjoiIiIgYIElzRERERMQASZojIiIiIgZI0hwRERERMUCS5oiIiIiIAZI0R0REREQMkKQ5IiIiImKAJM0REREREQMkaY6IiIiIGCBJc0RERETEAEmaIyIiIiIGSNIcERERETFAkuaIiIiIiAGSNEdEREREDJCkOSIiIiJigCTNEREREREDJGmOiIiIiBggSXNERERExABJmiMiIiIiBkjSHBERERExQJLmiIiIiIgBkjRHRERERAyQpDkiIiIiYoAkzRERERERAyRpjoiIiIgYoLOkWdJKks6SdIGkSyQdWK+/l6QfSvpN/Xf1rsYQEREREdGGLmeabwMeb3tjYBPgKZIeA7wBONH2+sCJ9XJERERExLzVWdLs4h/14l3ql4FnAofW6w8FduhqDBERERERbei0plnS8pLOB64Bfmj7TGAt21cB1H/XnOK++0g6W9LZ1157bZfDjIiIiIiYVqdJs+07bG8C3B/YUtJGS3Hfg2xvbnvzRYsWdTbGiIiIiIhBZqV7hu0bgJOBpwBXS1oboP57zWyMISIiIiJiWF12z1gk6Z71+5WBJwKXAscCe9Yf2xP4dldjiIiIiIhowwodxl4bOFTS8pTk/Ejb35F0OnCkpL2B3wPP6XAMERERERGNdZY0274Q2HSS6/8KPKGrx42IiIiIaFt2BIyIiIiIGCBJc0RERETEAEmaIyIiIiIGSNIcERERETFAkuaIiIiIiAGSNEdEREREDNBln+aRcs1nP944xpr77tfCSCIiIiJivslMc0RERETEAEmaIyIiIiIGSNIcERERETFAkuaIiIiIiAGSNEdEREREDJCkOSIiIiJigBklzZJOnMl1ERERERHLomn7NEtaCbgbsIak1QHVm1YF7tvx2CIiIiIi5oVBm5u8BNifkiCfw1jSfCPwqe6GFRERERExf0ybNNv+GPAxSa+0/YlZGlNERERExLwyo220bX9C0tbAuv33sf3ljsYVERERETFvzChplvQVYD3gfOCOerWBJM0RERERscybUdIMbA5saNtdDiYiIiIiYj6aaZ/mi4H7dDmQiIiIiIj5aqYzzWsAv5B0FnBb70rbz+hkVBERERER88hMk+YDuhxERERERMR8NtPuGad0PZCIiIiIiPlqpt0zbqJ0ywBYEbgLcLPtVbsa2LLiz596dStx7vvyD7cSJyIiIiKW3kxnmlfpvyxpB2DLLgYUERERETHfzLR7xji2vwU8vt2hRERERETMTzMtz3h238XlKH2b07M5IiIiIhaEmXbPeHrf97cDVwLPnO4Okh5A2THwPsCdwEG2PybpXsDXKVtyXwnsbPv6pRp1RERERMQsmmlN815DxL4d+F/b50paBThH0g+BFwAn2n6vpDcAbwBeP0T8iIiIiIhZMaOaZkn3l3SMpGskXS3paEn3n+4+tq+yfW79/ibgl8D9KDPUh9YfOxTYYejRR0RERETMgpkuBDwEOBa4LyXxPa5eNyOS1gU2Bc4E1rJ9FZTEGlhzivvsI+lsSWdfe+21M32oiIiIiIjWzTRpXmT7ENu3168vAYtmckdJ9wCOBva3feNMB2b7INub29580aIZPVRERERERCdmmjRfJ2kPScvXrz2Avw66k6S7UBLmw21/s159taS16+1rA9cMM/CIiIiIiNky06T5hcDOwF+Aq4CdgGkXB0oS8AXgl7b7t7M7Ftizfr8n8O2lGXBERERExGybacu5dwB79lrD1bZxH6Qk01PZBngecJGk8+t1bwTeCxwpaW/g98Bzhhj3gnfpp6bt+DdjD315jlkiIiIiBplp0vzI/l7Ktv8madPp7mD7p4CmuPkJM3zciIiIiIg5N9PyjOUkrd67UGeaZ5pwR0RERESMtJkmvh8CTpP0Dcr22TsD7+psVBERERER88hMdwT8sqSzgcdTSi6ebfsXnY4sIiIiImKemHGJRU2SkyhHRERExIIz05rmiIiIiIgFK0lzRERERMQA6YAR45x+0PatxNlqn++0EiciIiJiPshMc0RERETEAEmaIyIiIiIGSHlGzJrjv/DUVuL8997fayVORERExExlpjkiIiIiYoAkzRERERERAyRpjoiIiIgYIElzRERERMQASZojIiIiIgZI0hwRERERMUCS5oiIiIiIAdKnOUbeNw55SitxdtrrB63EiYiIiGVPZpojIiIiIgZI0hwRERERMUDKMyKmcMihT24lzl57nrDEdR8//L9bib3f7se3EiciIiKml5nmiIiIiIgBkjRHRERERAyQpDkiIiIiYoAkzRERERERAyRpjoiIiIgYIElzRERERMQASZojIiIiIgborE+zpC8C2wPX2N6oXncv4OvAusCVwM62r+9qDBELzQFHttP/+YCdx/d/3uuYdrYqP+RZ2ao8IiJGU5czzV8CJn7SvgE40fb6wIn1ckRERETEvNZZ0mz7VOBvE65+JnBo/f5QYIeuHj8iIiIioi2zvY32WravArB9laQ1p/pBSfsA+wCss846szS8iJht23375a3E+f4zP9VKnIiIiMnM24WAtg+yvbntzRctWjTXw4mIiIiIBWy2k+arJa0NUP+9ZpYfPyIiIiJiqc120nwssGf9fk/g27P8+BERERERS63LlnNHAI8F1pD0R+BtwHuBIyXtDfweeE5Xjx8RC9tTj3lnK3G+96w3j7v8tG9+vJW43332fktc97SjP99O7B1fNO7y9t84vJW439lp91biRESMos6SZtu7TXHTE7p6zIiIiIiILszbhYAREREREfNFkuaIiIiIiAGSNEdEREREDJCkOSIiIiJigCTNEREREREDJGmOiIiIiBggSXNERERExABJmiMiIiIiBkjSHBERERExQGc7AkZExLLt6d/4Zitxjtvp2a3EiYjoUmaaIyIiIiIGSNIcERERETFAkuaIiIiIiAFS0xwREfPOM7/xg8Yxvr3TU1oYSUREkZnmiIiIiIgBkjRHRERERAyQpDkiIiIiYoDUNEdExILxrKN/2kqcY3bcdtzl5xx9YStxj9rxkUtct98xf2gc9+PPesAS133qmKsbxwV4+bPWGnf5m9+4rpW4z95pjSWu+/Hh1zaO+7jdFy1x3Xmfv6ZxXIBNX7TmuMtXfvQvrcRdd//7LHHdXz7428Zx7/OaBy9x3dUfPadxXIC19n/U+LgfP7mduPs9dtzlaz51XCtx13z50wf+TGaaIyIiIiIGSNIcERERETFAkuaIiIiIiAGSNEdEREREDJCkOSIiIiJigCTNEREREREDJGmOiIiIiBggSXNERERExABJmiMiIiIiBkjSHBERERExwJwkzZKeIulXkn4r6Q1zMYaIiIiIiJma9aRZ0vLAp4DtgA2B3SRtONvjiIiIiIiYqbmYad4S+K3ty23/C/ga8Mw5GEdERERExIzI9uw+oLQT8BTbL6qXnwc82vYrJvzcPsA+9eJDgF/N8CHWAK5rabizEbfL2KMWt8vYoxa3y9ijFrfL2KMWt8vYoxa3y9ijFrfL2InbfexRi9tl7PkS94G2F028coX2xjNjmuS6JTJ32wcB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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "labels_CN_T = get_labels(CN_df, 'User_Defined_Tags')\n", + "\n", + "total = []\n", + "for i in range (5):\n", + " tag = list(labels_CN_T[i].values)\n", + " total.extend(tag)\n", + "\n", + "labels_CN_T = pd.DataFrame()\n", + "labels_CN_T[0] = total\n", + "\n", + "plt.figure(figsize=(12,3))\n", + "sns.countplot(data=labels_CN_T, x=0,order=labels_CN_T[0].value_counts().iloc[:30].index)\n", + "plt.xticks(rotation=90)\n", + "plt.title('Top30 China Steam Games Tags')\n", + "plt.xlabel('Tags')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "442e1411", + "metadata": {}, + "source": [ + " In the Top100 list of Steam games, the difference between China and Japan is relatively significant. From the Top100 games genre, the most popular games in Japan are Action, Role-Playing Game, Adventure and Free to play, while the most popular games in China are Action, Adventure, Simulation, Indie.\n", + "\n", + "From the Top100 games tag of both countries, the most popular ones that distinguish China from Japan are First Person Shooter games and cooperative games, while Japanese gamers are more inclined to role-playing and survival skill-based games." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/chromedriver b/chromedriver new file mode 100644 index 0000000..eb6757a Binary files /dev/null and b/chromedriver differ diff --git a/csv.rar b/csv.rar new file mode 100644 index 0000000..b696acc Binary files /dev/null and b/csv.rar differ