# Dependencies import re import requests from urllib.parse import quote_plus as urlencode # Assets from core.provider import Provider search_expr = '\s*' '
\s*') #'
.+
\s*' #'
.+\s*' #'
\s*' #'
') class hianime(Provider): _NAME = 'HiAnime' _BOOTSTRAP = 'https://hianime.tv' def __init__(self) -> None: pass def GetMirrors(self) -> list[str]: content = requests.get('https://hianime.tv').text expr = '
' # for some reason hianime doesn't advertise `hianime.to` as a mirror matches = re.findall(expr, content) if 'https://hianime.to' not in matches: matches.append('https://hianime.to') return matches def SearchAnime(self, mirror: str, query: str) -> list[str]: #-> list[Anime]: urlsafe_query = urlencode(query) url = f'{mirror}/search?keyword={urlsafe_query}&sort=default' content = requests.get(url).text #print(content) matches = re.findall(search_expr, content) return matches