stnh70 commited on
Commit
5fd7357
·
verified ·
1 Parent(s): cd87361

Update server.js

Browse files
Files changed (1) hide show
  1. server.js +62 -21
server.js CHANGED
@@ -308,31 +308,72 @@ async function scrapeProvider(domain, url, signal) {
308
  let videoResult = null;
309
 
310
  // 启用请求拦截
311
- await page.route('**/*', async (route) => {
312
- const requestUrl = route.request().url();
313
- console.log(`[${domain}] Request: ${requestUrl}`);
314
 
315
- // 如果是 cloudnestra.com/rcp/ 的请求,使用 getVideoAndSubtitles 解析
316
- if (requestUrl.includes('cloudnestra.com/rcp/')) {
317
- try {
318
- const { videoFileUrl, subtitleSources } = await getVideoAndSubtitles(requestUrl);
319
- if (!videoFileUrl) throw new Error("HLS URL not found");
320
 
321
- videoResult = {
322
- source_domain: domain,
323
- hls_url: videoFileUrl,
324
- subtitles: subtitleSources,
325
- error: null
326
- };
327
- route.abort();
328
- } catch (error) {
329
- console.error(`[${domain}] Error processing cloudnestra request:`, error);
330
- route.continue();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
331
  }
332
- } else {
333
- route.continue();
334
  }
335
- });
 
 
 
 
 
 
 
 
 
 
 
336
 
337
  await page.goto(url, {
338
  waitUntil: 'networkidle',
 
308
  let videoResult = null;
309
 
310
  // 启用请求拦截
311
+ // await page.route('**/*', async (route) => {
312
+ // const requestUrl = route.request().url();
313
+ // console.log(`[${domain}] Request: ${requestUrl}`);
314
 
315
+ // // 如果是 cloudnestra.com/rcp/ 的请求,使用 getVideoAndSubtitles 解析
316
+ // if (requestUrl.includes('cloudnestra.com/rcp/')) {
317
+ // try {
318
+ // const { videoFileUrl, subtitleSources } = await getVideoAndSubtitles(requestUrl);
319
+ // if (!videoFileUrl) throw new Error("HLS URL not found");
320
 
321
+ // videoResult = {
322
+ // source_domain: domain,
323
+ // hls_url: videoFileUrl,
324
+ // subtitles: subtitleSources,
325
+ // error: null
326
+ // };
327
+ // route.abort();
328
+ // } catch (error) {
329
+ // console.error(`[${domain}] Error processing cloudnestra request:`, error);
330
+ // route.continue();
331
+ // }
332
+ // } else {
333
+ // route.continue();
334
+ // }
335
+ // });
336
+ await page.route('**/*', async (route) => {
337
+ const requestUrl = route.request().url();
338
+ console.log(`[${domain}] Request: ${requestUrl}`);
339
+
340
+ // 如果是 cloudnestra.com/rcp/ 请求,输出它的内容
341
+ if (requestUrl.includes('cloudnestra.com/rcp/')) {
342
+ console.log(`[${domain}] 🎯 检测到 cloudnestra.com/rcp/ 请求:`);
343
+ console.log(`[${domain}] URL: ${requestUrl}`);
344
+
345
+ try {
346
+ // 获取请求的响应内容
347
+ const response = await route.fetch();
348
+ const content = await response.text();
349
+
350
+ console.log(`[${domain}] 响应状态: ${response.status()}`);
351
+ console.log(`[${domain}] 响应头:`, response.headers());
352
+ console.log(`[${domain}] 响应内容长度: ${content.length}`);
353
+ console.log(`[${domain}] 响应内容预览 (前500字符):`);
354
+ console.log(content.substring(0, 500));
355
+
356
+ // 如果内容看起来像JSON,尝试解析
357
+ if (content.trim().startsWith('{') || content.trim().startsWith('[')) {
358
+ try {
359
+ const jsonContent = JSON.parse(content);
360
+ console.log(`[${domain}] JSON内容:`, JSON.stringify(jsonContent, null, 2));
361
+ } catch (e) {
362
+ console.log(`[${domain}] 不是有效的JSON格式`);
363
  }
 
 
364
  }
365
+
366
+ // 继续正常的请求流程
367
+ route.continue();
368
+
369
+ } catch (error) {
370
+ console.error(`[${domain}] 获取cloudnestra内容时出错:`, error);
371
+ route.continue();
372
+ }
373
+ } else {
374
+ route.continue();
375
+ }
376
+ });
377
 
378
  await page.goto(url, {
379
  waitUntil: 'networkidle',