import re
import time
import requests
from bs4 import BeautifulSoup
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
}
result = []
for i in range(1, 82):
url = f"https://kumamate.net/data/?mode=rate&fighter={i}"
r = requests.get(url, headers=headers)
r.raise_for_status()
soup = BeautifulSoup(r.content, "html.parser")
for trs in soup.find_all("tr", class_=re.compile("RecentMatch[12]")):
tds = trs.find_all("td")
win, lose, _ = re.split("[Gewinnen oder verlieren]", tds[3].get_text(strip=True))
data = [
tds[0].img.get("alt"),
tds[2].get_text(strip=True),
int(win),
int(lose),
float(tds[4].get_text(strip=True).rstrip("%")),
]
result.append(data)
time.sleep(1)
result
import pandas as pd
df = pd.DataFrame(result, columns=["mich selber", "Gegner", "Sieg", "Niederlage", "Sieg率"])
#Berechnung der Anzahl der Verwendungen
df["Anzahl der Verwendungen"] = df["Sieg"] + df["Niederlage"]
#Gesamtzahl der Anwendungen durch Kämpfer
pv = df.pivot_table(values="Anzahl der Verwendungen", index="mich selber", aggfunc="sum").reset_index()
pv.rename(columns={"mich selber": "Gegner", "Anzahl der Verwendungen": "Registrationsnummer"}, inplace=True)
df1 = pd.merge(df, pv, on="Gegner")
#VIP-Berechnung
df1["VIP"] = df1["Registrationsnummer"] * df1["Gewinnrate"]
#Schließen Sie das gleiche Zeichen aus
df2 = df1[df1["mich selber"] != df1["Gegner"]].copy()
#VIP-Aggregation durch Kämpfer
pv1 = df2.pivot_table(values="VIP", index="mich selber", aggfunc="sum").sort_values(
by="VIP", ascending=False
)
pv1["VIP"] = (pv1["VIP"] // 100000).astype(int)
print(pv1.to_markdown())
| mich selber | Anzahl der Verwendungen | |
|---|---|---|
| 1 | Ganondorf | 24004 |
| 2 | Joker | 19527 |
| 3 | Bowser | 19016 |
| 4 | Mario | 17186 |
| 5 | Esel Kong | 15838 |
| 6 | Lucina | 15771 |
| 7 | Pudding | 13148 |
| 8 | Luca | 12628 |
| 9 | Wolke | 12264 |
| 10 | Roy | 11374 |
| 11 | Zelda | 11125 |
| 12 | Kapitän Falcon | 11044 |
| 13 | Baskenmütze / Beres | 10269 |
| 14 | Partena | 10159 |
| 15 | Mars | 10126 |
| 16 | Kirby | 9388 |
| 17 | Verknüpfung | 9173 |
| 18 | Gaogaen | 8657 |
| 19 | Falco | 8223 |
| 20 | Ness | 8061 |
| 21 | Roboter | 8032 |
| 22 | Incling | 7986 |
| 23 | Terry | 7955 |
| 24 | Wolf | 7867 |
| 25 | Pikachu | 7739 |
| 26 | Schlange | 7330 |
| 27 | Yoshi | 7275 |
| 28 | Geckouga | 6898 |
| 29 | Ike | 6333 |
| 30 | Mr.Spiel&Uhr | 6333 |
| 31 | Meen Meen | 6290 |
| 32 | Beyonetta | 6286 |
| 33 | Dedede | 6201 |
| 34 | Fuchs | 6198 |
| 35 | Ken | 6088 |
| 36 | Mutig | 6077 |
| 37 | Miu Zwei | 6037 |
| 38 | Rufure | 5917 |
| 39 | König Kruul | 5893 |
| 40 | Zero Suit Sams | 5454 |
| 41 | Kamui | 5453 |
| 42 | Ridley | 5446 |
| 43 | Pac-Man | 5262 |
| 44 | Pokemon Trainer | 5093 |
| 45 | Pakkun Blume | 5019 |
| 46 | Sams | 4854 |
| 47 | Schwarze Grube | 4733 |
| 48 | Dark Sams | 4716 |
| 49 | Wii Fit Trainer | 4693 |
| 50 | Chrom | 4630 |
| 51 | Doktor Mario | 4405 |
| 52 | Murabito | 4261 |
| 53 | Schulk | 4201 |
| 54 | Metanit | 4173 |
| 55 | suchen | 4127 |
| 56 | Luigi | 4103 |
| 57 | Bowser.Jr | 3974 |
| 58 | Pichu | 3886 |
| 59 | Banjo&Kazui | 3867 |
| 60 | Kleiner Mac | 3818 |
| 61 | Kinder Link | 3653 |
| 62 | Entenjagd | 3282 |
| 63 | Shizue | 3208 |
| 64 | Lucario | 3167 |
| 65 | Rockman | 3073 |
| 66 | Toon Link | 2954 |
| 67 | Schall | 2848 |
| 68 | Wario | 2506 |
| 69 | Picmin&Olimer | 2340 |
| 70 | Eiskletterer | 2324 |
| 71 | Grube | 2265 |
| 72 | Kampf gegen Mii | 2262 |
| 73 | Pfirsich | 2251 |
| 74 | Rosetta&Chico | 2192 |
| 75 | Mii schießen | 2169 |
| 76 | Ryu | 2151 |
| 77 | Gänseblümchen | 1880 |
| 78 | Diddy Kong | 1829 |
| 79 | Simon | 1554 |
| 80 | Richter | 1515 |
| 81 | Schwertkunst Mii | 1383 |
| mich selber | VIP |
|---|---|
| Bowser.Jr | 303 |
| Banjo&Kazui | 300 |
| Richter | 299 |
| Meen Meen | 296 |
| Mii schießen | 295 |
| Entenjagd | 291 |
| Fuchs | 287 |
| Rufure | 285 |
| Kampf gegen Mii | 284 |
| Rockman | 284 |
| Gaogaen | 283 |
| Mr.Spiel&Uhr | 282 |
| Ken | 281 |
| Dedede | 278 |
| Schwertkunst Mii | 277 |
| Geckouga | 276 |
| Dark Sams | 276 |
| Beyonetta | 275 |
| Schlange | 274 |
| Toon Link | 274 |
| Schwarze Grube | 274 |
| Simon | 273 |
| Falco | 273 |
| Pakkun Blume | 273 |
| Diddy Kong | 273 |
| Wii Fit Trainer | 272 |
| Metanit | 272 |
| Pfirsich | 272 |
| Sams | 268 |
| Zelda | 268 |
| Ike | 268 |
| Picmin&Olimer | 267 |
| Grube | 267 |
| Roboter | 266 |
| Ryu | 266 |
| Pac-Man | 266 |
| Eiskletterer | 266 |
| Rosetta&Chico | 265 |
| Partena | 265 |
| Murabito | 265 |
| Mutig | 264 |
| Doktor Mario | 264 |
| Pokemon Trainer | 264 |
| Gänseblümchen | 262 |
| Verknüpfung | 261 |
| Pichu | 260 |
| Mario | 260 |
| Chrom | 260 |
| Kamui | 259 |
| Yoshi | 259 |
| König Kruul | 258 |
| Wolf | 258 |
| Kleiner Mac | 258 |
| Lucario | 258 |
| Wario | 257 |
| Schulk | 257 |
| Incling | 257 |
| Wolke | 257 |
| Roy | 256 |
| Kinder Link | 256 |
| Pikachu | 256 |
| Bowser | 256 |
| Miu Zwei | 256 |
| Luigi | 255 |
| Terry | 255 |
| Schall | 255 |
| Ness | 254 |
| suchen | 254 |
| Shizue | 253 |
| Luca | 252 |
| Kapitän Falcon | 250 |
| Pudding | 250 |
| Esel Kong | 249 |
| Mars | 249 |
| Lucina | 248 |
| Zero Suit Sams | 246 |
| Ridley | 245 |
| Joker | 244 |
| Kirby | 244 |
| Baskenmütze / Beres | 241 |
| Ganondorf | 240 |
[[Erstes Scraping] Ich habe versucht, einen VIP-Charakter für Smash Bra [Beautiful Soup] [Datenanalyse]] zu erstellen (https://qiita.com/daikiclimate/items/31f613da3600157cbecb)
Recommended Posts