From 35db71b8ccc0967d70297811e9290a63c6404d43 Mon Sep 17 00:00:00 2001 From: sherl Date: Wed, 4 Jun 2025 00:19:57 +0200 Subject: [PATCH] feat: get sportsmen full name and birthday from id --- FlaskWebProject/FlaskWebProject/fs_scraper.py | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/FlaskWebProject/FlaskWebProject/fs_scraper.py b/FlaskWebProject/FlaskWebProject/fs_scraper.py index 1e93c82..f7b9178 100644 --- a/FlaskWebProject/FlaskWebProject/fs_scraper.py +++ b/FlaskWebProject/FlaskWebProject/fs_scraper.py @@ -61,6 +61,34 @@ class scraper: # return False return self.__czy_x_istnieje("kluby", id_klubu=id_klubu) + def id_na_imie_nazwisko_urodziny(self, zewnetrzne_id_sportowca: str = "MVC8zHZD"): + """ + Scraper z dykty xD + Pobiera imiona, nazwiska i dni urodzin sportowców z zewnętrznego id. + Działa na słowo honoru. + + :param zewnetrzne_id_sportowca: Zewnętrzne id sportowca + :type zewnetrzne_id_sportowca: str + """ + if len(zewnetrzne_id_sportowca) != 8: + raise ValueError("Zewnętrzne ID sportowca powinno być długości 8!") + r = requests.get(f'https://www.flashscore.pl/?r=4:{zewnetrzne_id_sportowca}') + page = r.text + + name_start_pos = page.find("data-testid=\"wcl-scores-heading-02\">") + 36 + name_end_pos = page.find("", name_end_pos) + 39 + birthday_start_pos_2 = page.find("data-testid=\"wcl-scores-simpleText-01\">", birthday_start_pos_1) + 39 + birthday_start_pos_3 = page.find("data-testid=\"wcl-scores-simpleText-01\">", birthday_start_pos_2) + 39 + birthday_start_pos = page.find("data-testid=\"wcl-scores-simpleText-01\">", birthday_start_pos_3) + 39 + birthday_end_pos = page.find(" 20 else page[birthday_start_pos:birthday_end_pos].strip(" ()") + + return name, birthday + def aktualizuj_dane_sportowca(self, zewnetrzne_id_sportowca: str = "MVC8zHZD"): stop_scraping = False matches_to_add = []