Created
December 26, 2023 09:33
-
-
Save Th1nhNg0/b1e86eb6e4a82e9ae6fcce82b4788af7 to your computer and use it in GitHub Desktop.
Hay day Smart Planner
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 250, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import requests\n", | |
"from bs4 import BeautifulSoup\n", | |
"import re\n", | |
"import json\n", | |
"import PIL\n", | |
"from PIL import ImageDraw\n", | |
"from PIL import ImageFont" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 251, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Define the URL of the web page\n", | |
"url = 'https://hayday.fandom.com/wiki/Goods_List'\n", | |
"\n", | |
"# Use the requests library to fetch the web page content\n", | |
"response = requests.get(url)\n", | |
"\n", | |
"# Check the status of the request\n", | |
"# A status code of 200 means the request was successful\n", | |
"if response.status_code == 200:\n", | |
" # Get the content of the response\n", | |
" page_content = response.text\n", | |
"else:\n", | |
" print(\"Failed to fetch the web page. Status code: \", response.status_code)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 252, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def convert_to_seconds(time_str):\n", | |
" if time_str.startswith('Instant'):\n", | |
" return 0\n", | |
" # Splitting the string by spaces to extract numbers and units\n", | |
" parts = time_str.split()\n", | |
"\n", | |
" # Initializing total seconds\n", | |
" total_seconds = 0\n", | |
"\n", | |
" # Iterating through each part of the time string\n", | |
" for i in range(0, len(parts), 2):\n", | |
" number = int(parts[i])\n", | |
" unit = parts[i+1]\n", | |
"\n", | |
" if unit == 'h':\n", | |
" # Convert hours to seconds\n", | |
" total_seconds += number * 3600\n", | |
" elif unit == 'min':\n", | |
" # Convert minutes to seconds\n", | |
" total_seconds += number * 60\n", | |
" elif unit == 'd':\n", | |
" # Convert days to seconds\n", | |
" total_seconds += number * 86400\n", | |
"\n", | |
" return total_seconds\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 253, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"soup = BeautifulSoup(page_content, 'html.parser')\n", | |
"\n", | |
"tables = soup.find_all('table')\n", | |
"\n", | |
"# Get the table with the goods\n", | |
"goods_table = tables[0]\n", | |
"\n", | |
"# Get the rows of the table\n", | |
"goods_rows = goods_table.find_all('tr')\n", | |
"\n", | |
"# Get the header row\n", | |
"header_row = goods_rows[0]\n", | |
"\n", | |
"# Get the column names\n", | |
"header_row_data = header_row.find_all('th')\n", | |
"\n", | |
"# Create a list of column names\n", | |
"column_names = []\n", | |
"for header in header_row_data:\n", | |
" column_names.append(header.text.strip())\n", | |
"\n", | |
"# Create a list of rows\n", | |
"rows = []\n", | |
"for row in goods_rows[1:]:\n", | |
" row_data = row.find_all('td')\n", | |
" row_dict = {}\n", | |
" for i, cell in enumerate(row_data):\n", | |
" cell_text = cell.text.strip()\n", | |
" if i == 0:\n", | |
" # Add the image to the \"image\" column\n", | |
" image = cell.find('img')\n", | |
" if image:\n", | |
" if 'data-src' in image.attrs:\n", | |
" row_dict['image'] = image['data-src']\n", | |
" else:\n", | |
" row_dict['image'] = image['src']\n", | |
" if i == 3:\n", | |
" cell_text = cell_text.split('★★★')[0].strip()\n", | |
" cell_text = convert_to_seconds(cell_text)\n", | |
" if i==5:\n", | |
" \n", | |
" matches = re.finditer(r'([\\w\\s]+)\\s\\((\\d+)\\)', cell_text, re.MULTILINE)\n", | |
" needs=[] # {name: amount} \n", | |
" for matchNum, match in enumerate(matches, start=1):\n", | |
" needs.append({match.group(1).strip(): int(match.group(2).strip())})\n", | |
" row_dict[column_names[i]] = needs\n", | |
" continue\n", | |
" row_dict[column_names[i]] = cell_text\n", | |
" rows.append(row_dict)\n", | |
"\n", | |
"# save the data to a json file\n", | |
"with open('goods.json', 'w') as f:\n", | |
" json.dump(rows, f, indent=2)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 258, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def find_by_name(name):\n", | |
" for row in rows:\n", | |
" if row['Name'] == name:\n", | |
" return row\n", | |
" return None\n", | |
"\n", | |
"def find_needed_for(name,count):\n", | |
" row = find_by_name(name)\n", | |
" if row is None:\n", | |
" raise Exception('No such item')\n", | |
" result = {\n", | |
" 'name': row['Name'],\n", | |
" 'count': count,\n", | |
" 'needs': []\n", | |
" }\n", | |
"\n", | |
" for need in row['Needs']:\n", | |
" for key, value in need.items():\n", | |
" if (key==name):\n", | |
" continue\n", | |
" result['needs'].append(find_needed_for(key, value*count))\n", | |
" return result" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 263, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Tropical cupcake\n", | |
"Plain cupcake\n", | |
"Milk\n", | |
"Cow feed\n", | |
"Corn\n", | |
"Soybean\n", | |
"White sugar\n", | |
"Sugarcane\n", | |
"Egg\n", | |
"Chicken feed\n", | |
"Corn\n", | |
"Wheat\n", | |
"Wheat\n", | |
"Pineapple\n", | |
"Coconut\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"<Figure size 2000x2000 with 0 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"image/png": "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", | |
"text/plain": [ | |
"<Figure size 640x480 with 14 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"needforcheese=find_needed_for('Tropical cupcake',1)\n", | |
"# draw the graph\n", | |
"import networkx as nx\n", | |
"\n", | |
"G = nx.DiGraph()\n", | |
"def draw_graph(node, parent=None):\n", | |
" row = find_by_name(node['name'])\n", | |
" image = PIL.Image.open(requests.get(row['image'], stream=True).raw)\n", | |
" G.add_node(node['name'],image=image)\n", | |
" if parent:\n", | |
" G.add_edge( node['name'],parent)\n", | |
" for need in node['needs']:\n", | |
" draw_graph(need, node['name'])\n", | |
"\n", | |
"draw_graph(needforcheese)\n", | |
"\n", | |
"import matplotlib.pyplot as plt\n", | |
"# Get a reproducible layout and create figure\n", | |
"plt.figure(figsize=(20, 20))\n", | |
"pos = nx.spring_layout(G)\n", | |
"fig, ax = plt.subplots()\n", | |
"\n", | |
"# Note: the min_source/target_margin kwargs only work with FancyArrowPatch objects.\n", | |
"# Force the use of FancyArrowPatch for edge drawing by setting `arrows=True`,\n", | |
"# but suppress arrowheads with `arrowstyle=\"-\"`\n", | |
"nx.draw_networkx_edges(\n", | |
" G,\n", | |
" pos=pos,\n", | |
" ax=ax,\n", | |
" arrows=True,\n", | |
" min_source_margin=15,\n", | |
" min_target_margin=15,\n", | |
")\n", | |
"\n", | |
"# Transform from data coordinates (scaled between xlim and ylim) to display coordinates\n", | |
"tr_figure = ax.transData.transform\n", | |
"# Transform from display to figure coordinates\n", | |
"tr_axes = fig.transFigure.inverted().transform\n", | |
"\n", | |
"# Select the size of the image (relative to the X axis)\n", | |
"icon_size = (ax.get_xlim()[1] - ax.get_xlim()[0]) * 0.04\n", | |
"icon_center = icon_size / 2.0\n", | |
"\n", | |
"# Add the respective image to each node\n", | |
"for n in G.nodes:\n", | |
" xf, yf = tr_figure(pos[n])\n", | |
" xa, ya = tr_axes((xf, yf))\n", | |
" # get overlapped axes and plot icon\n", | |
" a = plt.axes([xa - icon_center, ya - icon_center, icon_size, icon_size])\n", | |
" a.imshow(G.nodes[n][\"image\"])\n", | |
" a.axis(\"off\")\n", | |
"plt.show()" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "rs", | |
"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.16" | |
}, | |
"orig_nbformat": 4 | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment