Skip to content

Instantly share code, notes, and snippets.

@progressify
Last active December 27, 2021 11:22
Show Gist options
  • Save progressify/6f808da337acfe7b76c612732ce97038 to your computer and use it in GitHub Desktop.
Save progressify/6f808da337acfe7b76c612732ce97038 to your computer and use it in GitHub Desktop.
Sono un appassionato di anime e vorrei vedere One Piece! Ho trovato tutti gli episodi, ma il sito non è fatto benissimo e si dovrebbero prelevare manualmente tutti i link, episodio per episodio. Ho deciso di fare un piccolo script in Python per prelevare automaticamente tutti i link al download in un determinato range (così da dividere anche gli…

Anime Streaming Link Catcher

Disclaimer: Il seguente gist è a solo scopo educativo. Ho realizzato (in meno di 5 minuti) questo script per puro divertimento. Mi dissocio da tutti i siti che fanno uso e diffondono materiale pirata.

Sono un appassionato di anime e vorrei vedere One Piece!

Ho trovato tutti gli episodi, ma il sito non è fatto benissimo e si dovrebbero prelevare manualmente tutti i link, episodio per episodio.

Ho deciso di fare un piccolo script in Python per prelevare automaticamente tutti i link al download in un determinato range (così da dividere anche gli episodi in stagioni).

I link parsati li stampo in console così da poterli inserire in un'instanza pyLoad e metterli in download.

Il sito in questione mette a disposizione 2 mirror (1fichier e uptobox). Ho deciso di prelevare per gli episodi con indice pari 1fichier e per quelli con indice dispari uptobox. Tutto questo è solo per ottimizzare eventuali tempi di download.

Per utilizzare il mio script ti basta eseguire i seguenti comandi:

pip install -r requirements.txt
python parse_anime_streaming.py 1 61

Il seguente comando ti stamperà in console i link al download dall'episodio 1 al 61 (la prima stagione completa)

import sys
import requests
from bs4 import BeautifulSoup
def parse_links_download(index_from, index_to):
link_dict = {}
for i in range(index_from, index_to + 1):
anime_url = f"https://animestreaming.biz/anime/one-piece/download/episodio/{i}/"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) '
'AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/46.0.2490.80 Safari/537.36',
'Content-Type': 'text/html',
}
resp = requests.get(anime_url, headers=headers)
soup = BeautifulSoup(resp.text, 'html.parser')
link_dict[i] = None
if (i % 2) == 0:
# 1fichier
for link in soup.find_all('a'):
if "1fichier" in link.get_text():
link_dict[i] = link.get('href')
else:
# uptobox
for link in soup.find_all('a'):
if "uptobox" in link.get_text():
link_dict[i] = link.get('href')
if not link_dict[i]:
print(f"link not detected, get it manually: {anime_url}")
for _, value in link_dict.items():
print(value)
if __name__ == '__main__':
param_1 = int(sys.argv[1])
param_2 = int(sys.argv[2])
parse_links_download(param_1, param_2)
beautifulsoup4==4.10.0
certifi==2021.10.8
charset-normalizer==2.0.9
idna==3.3
requests==2.26.0
soupsieve==2.3.1
urllib3==1.26.7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment