first commit
This commit is contained in:
commit
8b85584d7c
|
@ -0,0 +1,26 @@
|
|||
from bs4 import BeautifulSoup
|
||||
import requests
|
||||
import webbrowser
|
||||
|
||||
#get ep url
|
||||
def get_vid(url):
|
||||
webp = requests.get(url)
|
||||
soup = BeautifulSoup(webp.text, 'html.parser')
|
||||
res = soup.find_all('html')
|
||||
raw = str(res)
|
||||
vid = raw.split('var video')
|
||||
r = vid[1]
|
||||
src = r.split('src=')
|
||||
src = str(src).replace('"', '')
|
||||
sour = str(src).split(' width')
|
||||
end = str(sour).split(',')
|
||||
links = []
|
||||
for x in end:
|
||||
if '.net' in x:
|
||||
links.append(x[2:-1])
|
||||
return links
|
||||
|
||||
|
||||
#opens link in a firefox tab (couldnt make mpv work yet :c)
|
||||
def display(url):
|
||||
webbrowser.open_new(url)
|
|
@ -0,0 +1,95 @@
|
|||
import search
|
||||
import makeLink
|
||||
import display
|
||||
|
||||
#user input
|
||||
anime = input('Search anime: ')
|
||||
|
||||
#search function
|
||||
results = search.search(anime)
|
||||
|
||||
#display results
|
||||
num = 0
|
||||
print('Results:')
|
||||
for result in results:
|
||||
num += 1
|
||||
print(str(num) + ' - ' + result)
|
||||
|
||||
#selecting anime
|
||||
while True:
|
||||
pick = input('Select anime entering its number: ')
|
||||
if pick.isnumeric():
|
||||
if int(pick) <= num and int(pick) > 0:
|
||||
url = makeLink.ani_link(results[int(pick)-1])
|
||||
break
|
||||
else:
|
||||
print('Invalid number `-´')
|
||||
else:
|
||||
print("That's not a number `-´")
|
||||
|
||||
#episodes
|
||||
while True:
|
||||
eps = search.episodes(url)
|
||||
ep_sel = input(results[int(pick)-1] + ' has ' + eps + ' episodes. Select the episode u want to watch: ')
|
||||
if ep_sel.isnumeric():
|
||||
if int(ep_sel) <= int(eps) and int(ep_sel) > 0:
|
||||
epi = int(ep_sel)
|
||||
link = makeLink.ep_link(url, ep_sel)
|
||||
break
|
||||
else:
|
||||
print('Invalid number `-´')
|
||||
else:
|
||||
print("That's not a number `-´")
|
||||
|
||||
#display
|
||||
def showtime(link):
|
||||
vido = display.get_vid(link)
|
||||
display.display(vido[-1])
|
||||
return vido
|
||||
|
||||
#stores the different hosts in case the default one doesn't work
|
||||
servers = showtime(link)
|
||||
|
||||
#options
|
||||
while True:
|
||||
res = input("""\np to watch previous episode
|
||||
|
||||
d to pick a different host
|
||||
|
||||
n to watch next episode
|
||||
|
||||
q to quit: """)
|
||||
#quits
|
||||
if res.lower() == 'q':
|
||||
print('cya')
|
||||
break
|
||||
#previous episode
|
||||
elif res.lower() == 'p':
|
||||
if epi == 1:
|
||||
print('Error! This is the first episode')
|
||||
elif res.lower() == 'n':
|
||||
epi += 1
|
||||
if epi > int(eps):
|
||||
print('Error! This is the last episode')
|
||||
else:
|
||||
link = makeLink.ep_link(url, epi)
|
||||
showtime(link)
|
||||
#diff host
|
||||
elif res.lower() == 'd':
|
||||
j = 0
|
||||
for x in servers:
|
||||
j += 1
|
||||
print('Server ' + str(j))
|
||||
host = input('Pick the host: ')
|
||||
if host.isnumeric():
|
||||
if int(host) > 0 and int(host) < j:
|
||||
ref = servers[int(host)]
|
||||
display.display(ref)
|
||||
continue
|
||||
else:
|
||||
print('Invalid number')
|
||||
else:
|
||||
print('not a number sadly')
|
||||
else:
|
||||
print("That wasn't an option dude")
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
filler = ['!', '¡', '?', '¿', '.', "'", ':', '=']
|
||||
|
||||
def ani_link(anime):
|
||||
base_link = 'https://jkanime.net/'
|
||||
anime = anime.replace('½', '-')
|
||||
for x in filler:
|
||||
anime = anime.replace(x, '')
|
||||
anime = anime.replace(' ', '-')
|
||||
anime = anime.lower()
|
||||
final_link = base_link + anime + '/'
|
||||
return final_link
|
||||
|
||||
def ep_link(link, ep):
|
||||
link = link + str(ep) + '/'
|
||||
return link
|
|
@ -0,0 +1,41 @@
|
|||
from bs4 import BeautifulSoup
|
||||
import requests
|
||||
|
||||
def search(anime):
|
||||
#etc
|
||||
search_base = 'https://jkanime.net/buscar/'
|
||||
filler = ['<div class="title">', '</div>', '[', ']']
|
||||
final_list = []
|
||||
|
||||
#search
|
||||
search_link = search_base + anime + '/'
|
||||
|
||||
#scrap
|
||||
webp = requests.get(search_link)
|
||||
soup = BeautifulSoup(webp.text, 'html.parser')
|
||||
results = soup.find_all('div', class_ = 'title')
|
||||
results = str(results)
|
||||
for words in filler:
|
||||
results = results.replace(words, '')
|
||||
results_list = results.split(',')
|
||||
|
||||
#fixing names
|
||||
for x in results_list:
|
||||
if x[0] == ' ':
|
||||
x = x.replace(' ', '', 1)
|
||||
final_list.append(x)
|
||||
return final_list
|
||||
|
||||
def episodes(link):
|
||||
#scrap
|
||||
webs = requests.get(link)
|
||||
sopa = BeautifulSoup(webs.text, 'html.parser')
|
||||
nums = sopa.find_all('div', class_ = 'anime__details__content')
|
||||
#find eps
|
||||
text = str(nums)
|
||||
eps = text.find('Episodios:</span>')
|
||||
eps2 = str(text[eps:])
|
||||
split = eps2.split('</li>', 1)
|
||||
half = split[0]
|
||||
half = half.replace('Episodios:</span> ', '')
|
||||
return half
|
Loading…
Reference in New Issue