Sobes.tech
Middle+
46

"""Napíšte kód, ktorý extrahuje odkazy z nezpracovaného textu a ich zoradí podľa určitých pravidiel. Zoznam odkazov, ktorý bude vrátený, by nemal obsahovať duplikáty. Pravidlá zoradenia sú nasledovné: - Priorita 1: Najskôr prvé nájdené odkazy v množstve self.first_extracted_links - Priorita 2: Potom odkazy na cloudové disky a dokumenty (Yandex Disk atď.) - Priorita 3: Následne odkazy na súbory (s príponami .exe, .pdf, .rar atď.) - Priorita 4: Zvyšné odkazy zoradené od dlhšieho po kratší reťazec Je tiež potrebné zohľadniť obmedzenie na počet odkazov a implementovať kontextový manažér. Napríklad, môže byť spustené v [link]. Zhrnutie: - Dáva sa 30 minút na vykonanie - Napísať funkcie apply, process, funkcie pre kontextový manažér - Všetky testy musia prejsť - Testy nie je možné upravovať - Môžu sa použiť importy - Po napísaní je možné skontrolovať spustením lokálne a opraviť podľa potreby regex na vyhľadávanie odkazov: (?:https?|ftp):\/\/(?:[a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.[a-zA-Z]{2,}(?::\d+)?(?:\/[^\s()]*)?""" class LinkExtractor: DEFAULT_CLOUDS = frozenset(( "drive.google.com", "mediafire.com", "yadi.sk", "disk.yandex.ru", "cloud.mail.ru", "mega.nz" )) # Túto metódu môžete rozšíriť alebo prepísať def __init__(self, max_links: int = 7, first_extracted_links: int = 2, clouds = None): # Maximálny počet odkazov, ktoré sa majú vrátiť self.max_links = max_links # Počet odkazov extrahovaných pre prvú podmienku self.first_extracted_links = first_extracted_links # Zoznam domén považovaných za cloud pre druhú podmienku self.clouds = clouds or self.DEFAULT_CLOUDS self._results = [] # Napíšte túto metódu, ktorá pridá časť textu na analýzu def apply(self, text) -> "LinkExtractor": ... return self

Spoločnosti boli požiadané
АВ Софт