feat: get sportsmen full name and birthday from id
This commit is contained in:
@@ -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_start_pos)
|
||||
name = page[name_start_pos:name_end_pos].strip().split(' ')
|
||||
|
||||
# Tak wiem... można by było użyć beautifulsoup4, ale nie ma sensu dodawać nowych zależności dla tylko jednej metody.
|
||||
birthday_start_pos_1 = page.find("data-testid=\"wcl-scores-simpleText-01\">", 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("</", birthday_start_pos) - 1
|
||||
birthday = None if birthday_end_pos - birthday_start_pos > 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 = []
|
||||
|
||||
Reference in New Issue
Block a user