Spaces:
Paused
Paused
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) {
|