Spaces:
Running
Running
Update index.js
Browse files
index.js
CHANGED
@@ -1260,7 +1260,7 @@ async function scrapeHAnimeDetails(url) {
|
|
1260 |
|
1261 |
console.log("Iframe Source:", iframeSrc);
|
1262 |
|
1263 |
-
// Tutup tab
|
1264 |
await page.close();
|
1265 |
|
1266 |
let video = null;
|
@@ -1271,12 +1271,13 @@ async function scrapeHAnimeDetails(url) {
|
|
1271 |
|
1272 |
// Ambil HTML dari halaman iframe
|
1273 |
const iframeHTML = await newPage.content();
|
1274 |
-
console.log("Iframe HTML:", iframeHTML);
|
1275 |
|
1276 |
-
// Tambahkan iframe HTML ke dalam
|
1277 |
result.iframeHTML = iframeHTML;
|
1278 |
|
1279 |
// Ambil data-id dari elemen <li>
|
|
|
1280 |
const dataIdElement = $("div.servers > ul > li");
|
1281 |
const dataId = dataIdElement.length
|
1282 |
? "https://nhplayer.com" + dataIdElement.attr("data-id")
|
@@ -1285,12 +1286,10 @@ async function scrapeHAnimeDetails(url) {
|
|
1285 |
console.log("Data-ID URL:", dataId);
|
1286 |
|
1287 |
if (dataId) {
|
1288 |
-
await delay(8000); // Delay 8 detik
|
1289 |
-
// Buka halaman data-id menggunakan Puppeteer
|
1290 |
-
await newPage.goto(dataId, { waitUntil: "domcontentloaded" });
|
1291 |
|
1292 |
-
const
|
1293 |
-
const newPageCheerio = cheerio.load(
|
1294 |
|
1295 |
newPageCheerio("script").each((i, script) => {
|
1296 |
const scriptContent = newPageCheerio(script).html();
|
@@ -1316,14 +1315,15 @@ async function scrapeHAnimeDetails(url) {
|
|
1316 |
} catch (error) {
|
1317 |
console.error("Error scraping details:", error);
|
1318 |
|
1319 |
-
// Tutup browser jika
|
1320 |
await browser.close();
|
1321 |
-
return { error: error };
|
1322 |
}
|
1323 |
}
|
1324 |
|
1325 |
|
1326 |
|
|
|
1327 |
app.get('/hanime/search', async (req, res) => {
|
1328 |
const { query } = req.query;
|
1329 |
if (!query) {
|
|
|
1260 |
|
1261 |
console.log("Iframe Source:", iframeSrc);
|
1262 |
|
1263 |
+
// Tutup tab utama
|
1264 |
await page.close();
|
1265 |
|
1266 |
let video = null;
|
|
|
1271 |
|
1272 |
// Ambil HTML dari halaman iframe
|
1273 |
const iframeHTML = await newPage.content();
|
1274 |
+
console.log("Iframe HTML:", iframeHTML);
|
1275 |
|
1276 |
+
// Tambahkan iframe HTML ke dalam hasil
|
1277 |
result.iframeHTML = iframeHTML;
|
1278 |
|
1279 |
// Ambil data-id dari elemen <li>
|
1280 |
+
const $ = cheerio.load(iframeHTML);
|
1281 |
const dataIdElement = $("div.servers > ul > li");
|
1282 |
const dataId = dataIdElement.length
|
1283 |
? "https://nhplayer.com" + dataIdElement.attr("data-id")
|
|
|
1286 |
console.log("Data-ID URL:", dataId);
|
1287 |
|
1288 |
if (dataId) {
|
1289 |
+
await delay(8000); // Delay 8 detik untuk memastikan data tersedia
|
|
|
|
|
1290 |
|
1291 |
+
const response = await axios.get(`https://arashicode-api.hf.space/html?url=${dataId}`);
|
1292 |
+
const newPageCheerio = cheerio.load(response.data);
|
1293 |
|
1294 |
newPageCheerio("script").each((i, script) => {
|
1295 |
const scriptContent = newPageCheerio(script).html();
|
|
|
1315 |
} catch (error) {
|
1316 |
console.error("Error scraping details:", error);
|
1317 |
|
1318 |
+
// Tutup browser jika terjadi kesalahan
|
1319 |
await browser.close();
|
1320 |
+
return { error: "ini\n\n" + error };
|
1321 |
}
|
1322 |
}
|
1323 |
|
1324 |
|
1325 |
|
1326 |
+
|
1327 |
app.get('/hanime/search', async (req, res) => {
|
1328 |
const { query } = req.query;
|
1329 |
if (!query) {
|