Ich habe mich für die Website https://anicloud.io/ entschieden weil sie legal ist/sein sollte.
ich habe bereits eine "such function" geschrieben, die mithilfe von requests_html und lxml arbeitet.
Code: Alles auswählen
searchUrlResults = []
searchNameResluts = []
def searchAnime(animeName):
page_url = "https://anicloud.io/search?q=" + animeName.replace(" ", "+")
html_parser = etree.HTMLParser()
session = HTMLSession()
resp = session.get(page_url)
resp.html.render()
web_page = resp.html.html
str_io_obj = StringIO(web_page)
dom_tree = etree.parse(str_io_obj, parser=html_parser)
searchResults_list = dom_tree.xpath('//*[@id="searchResults"]')
session.close()
for a in searchResults_list:
listChildren = a.getchildren()
for c in listChildren:
cChildren = c.getchildren()
for cc in cChildren:
episodeUrl = cc.get("href")
if episodeUrl.startswith("/anime/stream/"):
if "staffel" in str(episodeUrl):
episodeUrl = "".join([j for j in episodeUrl if not j.isdigit()])
episodeUrl = episodeUrl.replace("/staffel-/episode-", "")
if episodeUrl not in searchUrlResults:
searchUrlResults.append(episodeUrl)
episodeUrl = episodeUrl.replace("-", " ")
episodeUrl = episodeUrl.replace("/anime/stream/", "")
if episodeUrl not in searchNameResluts:
searchNameResluts.append(episodeUrl)
Code: Alles auswählen
def getEpisodes(url):
episodes = []
html_parser = etree.HTMLParser()
session = HTMLSession()
resp = session.get(url)
resp.html.render()
web_page = resp.html.html
str_io_obj = StringIO(web_page)
dom_tree = etree.parse(str_io_obj, parser=html_parser)
selectedElement = dom_tree.xpath('//*[@id="stream"]/ul[2]')
session.close()
for a in selectedElement:
aListChildren = a.getchildren()
for b in aListChildren:
bListChildren = b.getchildren()
for c in bListChildren:
link = c.get("href")
if isinstance(link, str):
episodes.append(link)
return episodes
Code: Alles auswählen
def getEpisodes(url):
episodes = []
html_parser = etree.HTMLParser()
session = HTMLSession()
resp = session.get(url)
resp.html.render()
web_page = resp.html.html
str_io_obj = StringIO(web_page)
dom_tree = etree.parse(str_io_obj, parser=html_parser)
selectedElement = dom_tree.xpath('//*[@id="stream"]/ul[2]')
session.close()
for a in selectedElement:
aListChildren = a.getchildren()
for b in aListChildren:
bListChildren = b.getchildren()
for c in bListChildren:
link = c.get("href")
if isinstance(link, str):
episodes.append(link)
return episodes
Code: Alles auswählen
def downloadFile(fileName, downloadLink):
print("connecting...")
r = requests.get(downloadLink, stream=True)
print("CONNECTED")
with open(fileName, "wb") as f:
total_length = int(r.headers.get('content-length'))
for ch in progress.bar(r.iter_content(chunk_size = 255), expected_size=(total_length/255)):
if ch:
f.write(ch)
print("DOWNLOAD FINISHED " + fileName)
Ich habe mich für den Dienst https://vidoza.net/ entschieden weil man von dort sehr einfach den Link zur mp4 Datei bekommen kann.
Das Problem ist, dass ich gar nicht erst auf die Seite komme weil ich "redirected" und/oder auch "überprüft" werde.
Kann man vielleicht den "redirect" umgehen?
Oder Gibt es ein Modul welches das ermöglicht?
Ich würde mich Freuen, wenn mir Jemand helfen könnte.
Danke schonmal im vor raus
