This commit is contained in:
contusionglory 2022-12-21 20:19:05 +00:00 committed by GitHub
parent 1345a0f717
commit 7ca9b60e51
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 24 deletions

View File

@ -25,7 +25,6 @@ object SoraItalianExtractor : SoraItalianStream() {
subtitleCallback, subtitleCallback,
callback callback
) )
println("LINK DI Guardare " + fixUrl(source.attr("data-link")))
} }
} }
@ -55,7 +54,6 @@ object SoraItalianExtractor : SoraItalianStream() {
subtitleCallback, subtitleCallback,
callback callback
) )
println("LINK DI guardaserie " + it.attr("data-link"))
} }
} }
} }
@ -113,7 +111,6 @@ object SoraItalianExtractor : SoraItalianStream() {
subtitleCallback, subtitleCallback,
callback callback
) )
println("LINK DI Filmpertutti Series $unshortenLink")
} }
} else { //movie } else { //movie
doc.select("#info > ul > li").mapNotNull { doc.select("#info > ul > li").mapNotNull {
@ -124,7 +121,6 @@ object SoraItalianExtractor : SoraItalianStream() {
subtitleCallback, subtitleCallback,
callback callback
) )
println("LINK DI Filmpertutti Movies $unshortenLink")
} }
} }
} }
@ -147,14 +143,14 @@ object SoraItalianExtractor : SoraItalianStream() {
val doc = app.get(it).document val doc = app.get(it).document
doc.select("tr > td > a[href*='stayonline.pro']").mapNotNull { doc.select("tr > td > a[href*='stayonline.pro']").mapNotNull {
val link = it.selectFirst("a")?.attr("href") ?: "" val link = it.selectFirst("a")?.attr("href") ?: ""
val idPost = link.substringAfter("/l/") val apiPostId = link.substringAfter("/l/")
.substringBefore("/") //https://stayonline.pro/l/abcdef/ -> abcdef .substringBefore("/") //https://stayonline.pro/l/abcdef/ -> abcdef
val doc2 = app.post( val apiBodyBypass = app.post(
"https://stayonline.pro/ajax/linkView.php", "https://stayonline.pro/ajax/linkView.php",
data = mapOf("id" to idPost) data = mapOf("id" to apiPostId)
).text ).text
var url2 = var url2 =
doc2.substringAfter("\"value\": \"").substringBefore("\"") apiBodyBypass.substringAfter("\"value\": \"").substringBefore("\"")
.replace("\\", "") //bypass stayonline link .replace("\\", "") //bypass stayonline link
if (url2.contains("mixdrop.club")) //https://mixdrop.club/f/lllllllll/2/abcdefghilmn.mp4 (fake mp4 url) -> https://mixdrop.ch/e/lllllllll if (url2.contains("mixdrop.club")) //https://mixdrop.club/f/lllllllll/2/abcdefghilmn.mp4 (fake mp4 url) -> https://mixdrop.ch/e/lllllllll
@ -170,7 +166,6 @@ object SoraItalianExtractor : SoraItalianStream() {
subtitleCallback, subtitleCallback,
callback callback
) )
println("LINK DI CB01 $url2")
} }
} }
@ -220,7 +215,6 @@ object SoraItalianExtractor : SoraItalianStream() {
quality = Qualities.Unknown.value quality = Qualities.Unknown.value
) )
) )
println("LINK DI Animeworld $url")
} }
} }
} }
@ -260,7 +254,6 @@ object SoraItalianExtractor : SoraItalianStream() {
isM3u8 = streamUrl.contains(".m3u8"), isM3u8 = streamUrl.contains(".m3u8"),
) )
) )
println("LINK DI aniplay $streamUrl")
} else { } else {
val seasonid = response.seasons.sortedBy { it.episodeStart } val seasonid = response.seasons.sortedBy { it.episodeStart }
.last { it.episodeStart < episode!! } .last { it.episodeStart < episode!! }
@ -284,7 +277,6 @@ object SoraItalianExtractor : SoraItalianStream() {
isM3u8 = streamUrl.contains(".m3u8"), isM3u8 = streamUrl.contains(".m3u8"),
) )
) )
println("LINK DI aniplay $streamUrl")
} }
} }
} }
@ -297,7 +289,6 @@ object SoraItalianExtractor : SoraItalianStream() {
episode: Int?, episode: Int?,
callback: (ExtractorLink) -> Unit callback: (ExtractorLink) -> Unit
) { ) {
print("Animesaturn started to scrape")
val document = val document =
app.get("$animesaturnUrl/animelist?search=${title?.replace("-", " ")}").document app.get("$animesaturnUrl/animelist?search=${title?.replace("-", " ")}").document
val links = document.select("div.item-archivio").map { val links = document.select("div.item-archivio").map {
@ -312,32 +303,30 @@ object SoraItalianExtractor : SoraItalianStream() {
} }
var malID: String? var malID: String?
response.select("a[href*=myanimelist]").map { response.select("a[href*=myanimelist]").forEach {
malID = it.attr("href").substringBeforeLast("/") malID = it.attr("href").substringBeforeLast("/")
.substringAfterLast("/") //https://myanimelist.net/anime/19/ -> 19 .substringAfterLast("/") //https://myanimelist.net/anime/19/ -> 19
if (malId == malID) { if (malId == malID) {
val link = response.select("a.bottone-ep") val link = response.select("a.bottone-ep")
.find { it.text().substringAfter("Episodio ") == episode.toString() } .find { it.text().substringAfter("Episodio ") == episode.toString() }
?.attr("href") ?.attr("href")
if (link?.isBlank() == false) { //links exists if (link?.isBlank() == true) { //links exists
val page = app.get(link).document val page = app.get(link).document
val episodeLink = page.select("div.card-body > a[href*=watch]").attr("href") val episodeLink = page.select("div.card-body > a[href*=watch]").attr("href")
?: throw ErrorLoadingException("No link Found") ?: throw ErrorLoadingException("No link Found")
val episodePage = app.get(episodeLink).document val episodePage = app.get(episodeLink).document
var episodeUrl: String? val episodeUrl: String? = episodePage.select("video.afterglow > source")
episodePage.select("video.afterglow > source") .let { // Old player
.also { // Old player it.first()?.attr("src")
episodeUrl = it.first()?.attr("src")
} }
?: run { //new player ?: run { //new player
episodeUrl = Regex("\"(https[A-z0-9\\/\\:\\.]*\\.m3u8)\",").find( Regex("\"(https[A-z0-9\\/\\:\\.]*\\.m3u8)\",").find(
episodePage.select("script").find { episodePage.select("script").find {
it.toString().contains("jwplayer('player_hls').setup({") it.toString().contains("jwplayer('player_hls').setup({")
}.toString() }.toString()
)?.value )?.value
} }
callback.invoke( callback.invoke(
ExtractorLink( ExtractorLink(
name, name,
@ -348,7 +337,6 @@ object SoraItalianExtractor : SoraItalianStream() {
quality = Qualities.Unknown.value quality = Qualities.Unknown.value
) )
) )
println("LINK DI animesaturn $episodeUrl")
} }
} }
@ -380,6 +368,4 @@ fun fixUrl(url: String, domain: String): String {
} }
return "$domain/$url" return "$domain/$url"
} }
} }