SC fix, AW Fix, CB01 Fix

This commit is contained in:
UrloMythus
2025-01-09 20:19:08 +01:00 Unverified
parent 30b7ed0e41
commit 63e1005f37
10 changed files with 279 additions and 148 deletions
+34 -8
View File
@@ -5,6 +5,31 @@ import json
from Src.Utilities.info import get_info_kitsu
import Src.Utilities.config as config
import re
from fake_headers import Headers
random_headers = Headers()
proxies = {}
from Src.Utilities.loadenv import load_env
env_vars = load_env()
AW_PROXY = config.AW_PROXY
AW_ForwardProxy = config.AW_ForwardProxy
if AW_PROXY == "1":
import random
PROXY_CREDENTIALS = env_vars.get('PROXY_CREDENTIALS')
proxy_list = json.loads(PROXY_CREDENTIALS)
proxy = random.choice(proxy_list)
if proxy == "":
proxies = {}
else:
proxies = {
"http": proxy,
"https": proxy
}
if AW_ForwardProxy == "1":
ForwardProxy = env_vars.get('ForwardProxy')
else:
ForwardProxy = ""
AW_DOMAIN = config.AW_DOMAIN
months = {
"Gennaio": "January", "Febbraio": "February", "Marzo": "March",
@@ -21,14 +46,14 @@ showname_replace = {
}
async def get_mp4(anime_url,ismovie,episode,client):
response = await client.get(anime_url,allow_redirects=True, impersonate = "chrome120")
response = await client.get(ForwardProxy + anime_url,allow_redirects=True, impersonate = "chrome124",proxies=proxies)
soup = BeautifulSoup(response.text,'lxml')
if ismovie == 0:
episode_page = soup.find('a', {'data-episode-num':episode })
if episode_page is None:
return None
episode_page = f'https://animeworld.{AW_DOMAIN}{episode_page["href"]}'
response = await client.get(episode_page,allow_redirects=True, impersonate = "chrome120")
response = await client.get(ForwardProxy + episode_page,allow_redirects=True, impersonate = "chrome124", proxies=proxies)
soup = BeautifulSoup(response.text,'lxml')
a_tag = soup.find('a', {'id': 'alternativeDownloadLink', 'class': 'm-1 btn btn-sm btn-primary'})
@@ -93,7 +118,7 @@ async def old_search(showname,date,ismovie,episode,client):
params = {
'keyword': showname,
}
response = await client.post(f'https://www.animeworld.{AW_DOMAIN}/api/search/v2', params=params, cookies=cookies, headers=headers, allow_redirects=True, impersonate = "chrome120")
response = await client.post(ForwardProxy + f'https://www.animeworld.{AW_DOMAIN}/api/search/v2', params=params, cookies=cookies, headers=headers, allow_redirects=True, impersonate = "chrome124", proxies = proxies)
data = json.loads(response.text)
for anime in data["animes"]:
release_date = anime["release"]
@@ -112,13 +137,15 @@ async def old_search(showname,date,ismovie,episode,client):
async def search(showname,date,ismovie,episode,client):
search_year = date[:4]
response = await client.get(f'https://www.animeworld.so/filter?year={search_year}&sort=2&keyword={showname}',allow_redirects=True, impersonate = "chrome120")
headers = random_headers.generate()
response = await client.get(ForwardProxy + f'https://www.animeworld.so/filter?year={search_year}&sort=2&keyword={showname}',allow_redirects=True, impersonate = "chrome124", headers = headers, proxies = proxies)
soup = BeautifulSoup(response.text,'lxml')
anime_list = soup.find_all('a', class_=['poster', 'tooltipstered'])
final_urls = []
for anime in anime_list:
anime_info_url = f'https://www.animeworld.{AW_DOMAIN}/{anime["data-tip"]}'
response = await client.get(anime_info_url,allow_redirects=True, impersonate = "chrome120")
response = await client.get(ForwardProxy + anime_info_url,allow_redirects=True, impersonate = "chrome124", proxies = proxies)
pattern = r'<label>Data di uscita:</label>\s*<span>\s*(.*?)\s*</span>'
match = re.search(pattern, response.text, re.S)
release_date = match.group(1).strip()
@@ -154,7 +181,7 @@ async def animeworld(id,client):
except:
print("Animeworld failed")
return None
'''
async def test_animeworld():
async with AsyncSession() as client:
# Replace with actual id, for example 'anime_id:episode' format
@@ -165,5 +192,4 @@ async def test_animeworld():
if __name__ == "__main__":
from curl_cffi.requests import AsyncSession
import asyncio
asyncio.run(test_animeworld())
'''
asyncio.run(test_animeworld())