forked from 50n50/sources
Update animepahe/animepahe.js
This commit is contained in:
+23
-12
@@ -74,20 +74,31 @@ async function extractEpisodes(url) {
|
||||
|
||||
const lastPage = data1.last_page;
|
||||
if (lastPage > 1) {
|
||||
const pagePromises = [];
|
||||
for (let p = 2; p <= lastPage; p++) {
|
||||
let pageData = null;
|
||||
let retries = 0;
|
||||
while (!pageData && retries < 3) {
|
||||
try {
|
||||
const apiUrl = `https://animepahe.si/api?m=release&id=${id}&sort=episode_asc&page=${p}`;
|
||||
const response = await ddosInterceptor.fetchWithBypass(apiUrl);
|
||||
const dataText = await response.text();
|
||||
pageData = JSON.parse(dataText);
|
||||
} catch (pageErr) {
|
||||
retries++;
|
||||
pagePromises.push((async (pageNum) => {
|
||||
let pageData = null;
|
||||
let retries = 0;
|
||||
while (!pageData && retries < 3) {
|
||||
try {
|
||||
const apiUrl = `https://animepahe.si/api?m=release&id=${id}&sort=episode_asc&page=${pageNum}`;
|
||||
const response = await ddosInterceptor.fetchWithBypass(apiUrl);
|
||||
const dataText = await response.text();
|
||||
pageData = JSON.parse(dataText);
|
||||
} catch (pageErr) {
|
||||
retries++;
|
||||
if (retries < 3) {
|
||||
await new Promise(resolve => setTimeout(resolve, 500));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (pageData) {
|
||||
return pageData;
|
||||
})(p));
|
||||
}
|
||||
|
||||
const allPagesData = await Promise.all(pagePromises);
|
||||
for (const pageData of allPagesData) {
|
||||
if (pageData && pageData.data) {
|
||||
for (const item of pageData.data) {
|
||||
results.push({
|
||||
href: `https://animepahe.si/play/${id}/${item.session}`,
|
||||
|
||||
Reference in New Issue
Block a user