Sobes.tech
Middle+
39

"""Xoml yozing, u xom matndan havolalarni chiqaradi va ularni belgilangan qoidalarga muvofiq tartiblaydi. Qaytariladigan havolalar ro'yxatida takrorlar bo'lmasligi kerak. Tartiblash qoidalari quyidagicha: - Birinchi ustuvorlik: avval topilgan havolalar, self.first_extracted_links miqdorida - Ikkinchi ustuvorlik: bulutli disklar va hujjatlarga (Yandex Disk va boshqalar) havolalar - Uchinchi ustuvorlik: fayl havolalari (oxirida .exe, .pdf, .rar va boshqalar kengaytmalar bilan) - To'rtinchi ustuvorlik: qolgan havolalar, satr uzunligiga ko'ra katta dan kichikgacha tartiblangan Shuningdek, havolalar soni cheklovini hisobga olish va kontekst menejerini amalga oshirish kerak. Masalan, [link] da ishga tushirish mumkin. Xulosa qilib aytganda: - 30 minut vaqt beriladi - apply, process funksiyalarini va kontekst menejeri uchun funksiyalar yozish - Barcha testlar muvaffaqiyatli o'tishi kerak - Testlarni o'zgartirish mumkin emas - importlardan foydalanish mumkin - Yozib bo'lingach, lokalda ishga tushirib, kerak bo'lsa, tuzatish mumkin Havolalarni qidirish uchun regex: (?: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" )) # Bu metodni kengaytirish yoki qayta yozish mumkin def __init__(self, max_links: int = 7, first_extracted_links: int = 2, clouds = None): # Maksimal havolalar soni self.max_links = max_links # Birinchi shart uchun chiqarilgan havolalar soni self.first_extracted_links = first_extracted_links # Bulut sifatida qabul qilinadigan domenlar ro'yxati self.clouds = clouds or self.DEFAULT_CLOUDS self._results = [] # Bu metodni yozing, matnning bir qismini qo'shadi def apply(self, text) -> "LinkExtractor": ... return self

Qaerda so'ralgan kompaniyalar
АВ Софт