SC fix, AW Fix, CB01 Fix
This commit is contained in:
+34
-8
@@ -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())
|
||||
Reference in New Issue
Block a user