latest commit

This commit is contained in:
Karl Hudgell 2023-08-06 16:48:07 +01:00
parent d865913154
commit 62712a3897
6 changed files with 65 additions and 19 deletions

3
CLIOutput/eng.bat Normal file
View File

@ -0,0 +1,3 @@
for /R %%a in ("*.mp4") do MP4Box -lang eng "%%a"
exit

View File

@ -16,7 +16,7 @@ except AttributeError:
def gogodownloader(config): def gogodownloader(config):
CURRENT_DOMAIN = config["CurrentGoGoAnimeDomain"] CURRENT_URL = config["CurrentGoGoAnimeURL"]
os.system("cls" if os.name == "nt" else "clear") os.system("cls" if os.name == "nt" else "clear")
while True: while True:
print( print(
@ -45,7 +45,7 @@ def gogodownloader(config):
title = name.replace("-", " ").title().strip() title = name.replace("-", " ").title().strip()
else: else:
title = name.title().strip() title = name.title().strip()
source = f"https://gogoanime.{CURRENT_DOMAIN}/category/{name}" source = f"https://{CURRENT_URL}/category/{name}"
with requests.get(source) as res: with requests.get(source) as res:
if res.status_code == 200: if res.status_code == 200:
soup = BeautifulSoup(res.content, "html.parser") soup = BeautifulSoup(res.content, "html.parser")
@ -139,7 +139,7 @@ def gogodownloader(config):
title, title,
) )
gogo.user_logged_in_check() gogo.user_logged_in_check()
source = f"https://gogoanime.{CURRENT_DOMAIN}/{name}" source = f"https://{CURRENT_URL}/{name}"
with requests.get(source) as res: with requests.get(source) as res:
soup = BeautifulSoup(res.content, "html.parser") soup = BeautifulSoup(res.content, "html.parser")
episode_zero = soup.find("h1", {"class": "entry-title"}) # value: 404 episode_zero = soup.find("h1", {"class": "entry-title"}) # value: 404

40
GoGoDownloaderCLI.spec Normal file
View File

@ -0,0 +1,40 @@
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(['GoGoDownloaderCLI.py'],
pathex=[],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='GoGoDownloaderCLI',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True,
disable_windowed_traceback=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None )

View File

@ -94,18 +94,18 @@ class gogoanime:
def get_gogoanime_auth_cookie(self): def get_gogoanime_auth_cookie(self):
session = requests.session() session = requests.session()
page = session.get( page = session.get(
f"https://gogoanime.{self.config['CurrentGoGoAnimeDomain']}/login.html" f"https://{self.config['CurrentGoGoAnimeURL']}/login.html"
) )
soup = BeautifulSoup(page.content, "html.parser") soup = BeautifulSoup(page.content, "html.parser")
meta_path = soup.select('meta[name="csrf-token"]') meta_path = soup.select('meta[name="csrf-token"]')
csrf_token = meta_path[0].attrs["content"] csrf_token = meta_path[0].attrs["content"]
url = f"https://gogoanime.{self.config['CurrentGoGoAnimeDomain']}/login.html" url = f"https://{self.config['CurrentGoGoAnimeURL']}/login.html"
payload = f"email={self.config['GoGoAnime_Username']}&password={self.config['GoGoAnime_Password']}&_csrf={csrf_token}" payload = f"email={self.config['GoGoAnime_Username']}&password={self.config['GoGoAnime_Password']}&_csrf={csrf_token}"
headers = { headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36",
"authority": "gogo-cdn.com", "authority": "gogo-cdn.com",
"referer": f"https://gogoanime.{self.config['CurrentGoGoAnimeDomain']}/", "referer": f"https://{self.config['CurrentGoGoAnimeURL']}/",
"content-type": "application/x-www-form-urlencoded", "content-type": "application/x-www-form-urlencoded",
} }
session.headers = headers session.headers = headers
@ -121,7 +121,7 @@ class gogoanime:
self, self,
): ):
page = requests.get( page = requests.get(
f"https://gogoanime.{self.config['CurrentGoGoAnimeDomain']}/one-piece-episode-1", f"https://{self.config['CurrentGoGoAnimeURL']}/one-piece-episode-1",
cookies=dict(auth=gogoanime.get_gogoanime_auth_cookie(self)), cookies=dict(auth=gogoanime.get_gogoanime_auth_cookie(self)),
) )
soup = BeautifulSoup(page.content, "html.parser") soup = BeautifulSoup(page.content, "html.parser")
@ -133,14 +133,14 @@ class gogoanime:
def get_links(self, source=None): def get_links(self, source=None):
if source is not None: if source is not None:
source_ep = f"https://gogoanime.{self.config['CurrentGoGoAnimeDomain']}/{self.name}-episode-" source_ep = f"https://{self.config['CurrentGoGoAnimeURL']}/{self.name}-episode-"
episode_links = [ episode_links = [
f"{source_ep}{i}" f"{source_ep}{i}"
for i in range(self.episode_start, self.episode_end + 1) for i in range(self.episode_start, self.episode_end + 1)
] ]
episode_links.insert(0, source) episode_links.insert(0, source)
else: else:
source_ep = f"https://gogoanime.{self.config['CurrentGoGoAnimeDomain']}/{self.name}-episode-" source_ep = f"https://{self.config['CurrentGoGoAnimeURL']}/{self.name}-episode-"
episode_links = [ episode_links = [
f"{source_ep}{i}" f"{source_ep}{i}"
for i in range(self.episode_start, self.episode_end + 1) for i in range(self.episode_start, self.episode_end + 1)
@ -197,7 +197,7 @@ class gogoanime:
("authority", "gogo-cdn.com"), ("authority", "gogo-cdn.com"),
( (
"referer", "referer",
f"https://gogoanime.{self.config['CurrentGoGoAnimeDomain']}/", f"https://{self.config['CurrentGoGoAnimeURL']}/",
), ),
] ]
), ),
@ -205,11 +205,13 @@ class gogoanime:
for link in file_list: for link in file_list:
if link is not None: if link is not None:
dl.enqueue_file( try:
link, dl.enqueue_file(
path=f"./{self.title}", link,
) path=f"./{self.title}",
)
except:
pass
files = dl.download() files = dl.download()
return files return files
@ -218,7 +220,7 @@ class gogoanime:
bookmarkList = [] bookmarkList = []
a = dict(auth=gogoanime.get_gogoanime_auth_cookie(self)) a = dict(auth=gogoanime.get_gogoanime_auth_cookie(self))
resp = requests.get( resp = requests.get(
f"https://gogoanime.{self.config['CurrentGoGoAnimeDomain']}/user/bookmark", f"https://{self.config['CurrentGoGoAnimeURL']}/user/bookmark",
cookies=a, cookies=a,
) )
soup = BeautifulSoup(resp.text, "html.parser") soup = BeautifulSoup(resp.text, "html.parser")
@ -242,7 +244,7 @@ class gogoanime:
{ {
"showName": animeName, "showName": animeName,
"latestEpisode": int(episodeNum), "latestEpisode": int(episodeNum),
"downloadURL": f"https://gogoanime.{self.config['CurrentGoGoAnimeDomain']}/{animeDownloadName}-episode-{str(episodeNum)}", "downloadURL": f"https://{self.config['CurrentGoGoAnimeURL']}/{animeDownloadName}-episode-{str(episodeNum)}",
} }
) )
with open("bookmarkList.json", "w") as f: with open("bookmarkList.json", "w") as f:

View File

@ -2,7 +2,7 @@
"GoGoAnime_Username":"", "GoGoAnime_Username":"",
"GoGoAnime_Password":"", "GoGoAnime_Password":"",
"MaxConcurrentDownloads": 4, "MaxConcurrentDownloads": 4,
"CurrentGoGoAnimeDomain": "gg", "CurrentGoGoAnimeURL": "gogoanime3.net",
"OverwriteDownloads": 0, "OverwriteDownloads": 0,
"CLIQuality":"720", "CLIQuality":"720",
"CLIDownloadLocation": "CLIOutput", "CLIDownloadLocation": "CLIOutput",

1
winRun.bat Normal file
View File

@ -0,0 +1 @@
cd C:\Users\Karl.Hudgell\Documents\GoGoDownloader && venv\Scripts\activate && python GoGoDownloaderCLI.py