Como puedo crear Script que obtienen los enlaces directos de los Embed.

  • Autor Autor germanhofkamp
  • Fecha de inicio Fecha de inicio
germanhofkamp

germanhofkamp

Beta
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola a todos, quisiera saber cómo se crean estás clases de script que obtienen los enlaces directos de los Embed de los sitios web de alojamiento o Streaming. Por ejemplo Wolfstream.tv usa formato de vídeo M3u8 y hay un script que obtienen el enlace directo del vídeo ya que de por si por lo general estos enlace que genera caducan cada cierto tiempo, pero con esta api se van generando nuevas url y nunca caduca el enlace que genera del vídeo directo, sin pasar por el reproductor de Wolfstream.tv.

Ejemplo: https://cinehax.com/m3u8.php?url=https://wolfstream.tv/embed-kp3v29ny054t.html

Si observamos el enlace llama a el archivo M3u8.php y luego ?url=(llama al Embed de wolfstream.tv). Luego de eso obtiene el enlace directo del vídeo.

Probé el script con highstream.tv que al parecer es igual a wolfstream.tv pero no funciona la redirección, solo funciona con wolfstream.tv

Quería crear estás clases de script para otros sitios como streamwish o ztreamhub... Si alguien me podría ayudar o a entender como se crean estás script sería de gran ayuda 👌
 
Última edición:
Este tipo de scripts, conocidos como scrapers, analizan el código HTML de una página web para extraer información. Para los enlaces Embed de sitios de alojamiento, necesitas conocer el formato exacto del URL que se genera.

Primero, necesitarás crear una función para obtener el contenido de la página. Usando la biblioteca de PHP cURL o file_get_contents puede servir.

PHP:
function get_content($URL){
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_URL, $URL);
  $data = curl_exec($ch);
  curl_close($ch);
  return $data;
}

Luego, puedes utilizar la función DOMDocument de PHP para analizar el HTML. Puedes usar XPath para obtener el elemento embed exacto.

PHP:
function get_embed_link($content){
  $dom = new DOMDocument();
  @$dom->loadHTML($content);
  $xpath = new DOMXPath($dom);
  $embed = $xpath->query('//embed/@src')->item(0)->nodeValue;
  return $embed;
}

Finalmente, puedes unir estos dos fragmentos de código. Asegúrate de procesar correctamente el URL del reproductor.

Esto es muy genérico y necesitarás ajustarlo a tu caso. El XPath puede variar dependiendo de cómo se estructura el sitio web.

PHP:
$url = 'https://wolfstream.tv/ejemplo';
$content = get_content($url);
$embed = get_embed_link($content);
echo $embed;

Este código no garantiza que obtendrás el enlace directo del vídeo, pero te da una idea general. Hay muchos factores como la estructura del sitio web y la protección contra el scraping que podrían dificultar la extracción de la URL del vídeo.
 
Creo que esto ya lo hablaron antes en otro tema, pero básicamente lo que tendrías que hacer es una expresión regular para obtener el enlace, que en este caso estaría aquí:

1690542313917.webp


Luego solo generas el m3u8 con el mismo formato:

1690543724890.webp


Y lo devuelves.

PD: Si no sabes programar y estás buscando que alguien te lo haga gratis, sigue intentando y quizá alguno quiera regalarte el trabajo, sino puedes ir a la sección de negocios que allí cualquier programador promedio te lo puede hacer fácil y no creo que lo cobren muy caro.

kj
 
Creo que esto ya lo hablaron antes en otro tema, pero básicamente lo que tendrías que hacer es una expresión regular para obtener el enlace, que en este caso estaría aquí:

Ver el archivo adjunto 1063127

Luego solo generas el m3u8 con el mismo formato:

Ver el archivo adjunto 1063131

Y lo devuelves.

PD: Si no sabes programar y estás buscando que alguien te lo haga gratis, sigue intentando y quizá alguno quiera regalarte el trabajo, sino puedes ir a la sección de negocios que allí cualquier programador promedio te lo puede hacer fácil y no creo que lo cobren muy caro.

kj
Hola, no quiero que me lo hagan quiero aprender a hacerlo y saber que opciones tomar, tengo el script y lo estoy estudiando para saber cómo armarme otro pero de otro sitio.
 
Este tipo de scripts, conocidos como scrapers, analizan el código HTML de una página web para extraer información. Para los enlaces Embed de sitios de alojamiento, necesitas conocer el formato exacto del URL que se genera.

Primero, necesitarás crear una función para obtener el contenido de la página. Usando la biblioteca de PHP cURL o file_get_contents puede servir.

PHP:
function get_content($URL){
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_URL, $URL);
  $data = curl_exec($ch);
  curl_close($ch);
  return $data;
}

Luego, puedes utilizar la función DOMDocument de PHP para analizar el HTML. Puedes usar XPath para obtener el elemento embed exacto.

PHP:
function get_embed_link($content){
  $dom = new DOMDocument();
  @$dom->loadHTML($content);
  $xpath = new DOMXPath($dom);
  $embed = $xpath->query('//embed/@src')->item(0)->nodeValue;
  return $embed;
}

Finalmente, puedes unir estos dos fragmentos de código. Asegúrate de procesar correctamente el URL del reproductor.

Esto es muy genérico y necesitarás ajustarlo a tu caso. El XPath puede variar dependiendo de cómo se estructura el sitio web.

PHP:
$url = 'https://wolfstream.tv/ejemplo';
$content = get_content($url);
$embed = get_embed_link($content);
echo $embed;

Este código no garantiza que obtendrás el enlace directo del vídeo, pero te da una idea general. Hay muchos factores como la estructura del sitio web y la protección contra el scraping que podrían dificultar la extracción de la URL del vídeo.
Este es el código de m3u8.php

<?php
if (!isset($_GET['url'])) {
echo "La URL no se proporcionó como parámetro.";
exit;
}
$url = $_GET['url'];
$html = file_get_contents($url);
if (preg_match('/file:"(.?\.m3u8.?)"/', $html, $matches)) {
$m3u8_url = $matches[1];
header("Location: " . $m3u8_url);
exit;
} else {
echo "URL m3u8 no encontrada.";
}
?>

Es muy sencillo, y estoy estudiando hacerlo para otro sitio como es zstreamhub.
 
Este es el código de m3u8.php

<?php
if (!isset($_GET['url'])) {
echo "La URL no se proporcionó como parámetro.";
exit;
}
$url = $_GET['url'];
$html = file_get_contents($url);
if (preg_match('/file:"(.?\.m3u8.?)"/', $html, $matches)) {
$m3u8_url = $matches[1];
header("Location: " . $m3u8_url);
exit;
} else {
echo "URL m3u8 no encontrada.";
}
?>

Es muy sencillo, y estoy estudiando hacerlo para otro sitio como es zstreamhub.
Eso es un buen punto de partida. El script que compartiste está obteniendo el contenido de la URL proporcionada y buscando cualquier coincidencia en el patrón especificado en la función preg_match(). En este caso, está buscando una cadena que coincida con el formato de un URL de archivo m3u8.

Si deseas crear un script similar para otros sitios como zstreamhub, necesitas conocer el patrón específico de las URLs de los archivos m3u8 que esos sitios están generando. Una vez que tengas ese patrón, puedes simplemente reemplazar el patrón actual en la función preg_match() con el nuevo.

Por último, cabe mencionar que este tipo de scripts puede no funcionar siempre ya que las URLs de los archivos m3u8 en los sitios de streaming a menudo están protegidas y pueden cambiar con el tiempo. Es posible que tengas que actualizar regularmente tu script para reflejar cualquier cambio en cómo se generan estas URLs.
 
Este es el código de m3u8.php

<?php
if (!isset($_GET['url'])) {
echo "La URL no se proporcionó como parámetro.";
exit;
}
$url = $_GET['url'];
$html = file_get_contents($url);
if (preg_match('/file:"(.?\.m3u8.?)"/', $html, $matches)) {
$m3u8_url = $matches[1];
header("Location: " . $m3u8_url);
exit;
} else {
echo "URL m3u8 no encontrada.";
}
?>

Es muy sencillo, y estoy estudiando hacerlo para otro sitio como es zstreamhub.

Lo que haces allí es distinto de lo que hace la URL que mostraste.

En dicha web, en lugar de solo redirigir al m3u8, lo pone dentro de un m3u8 nuevo.

Puede que eso te ayude a hacer funcionar el otro, ya que es posible que de esa manera la info se mande de manera distinta al server de ztream, lo cual puede ayudar a evitar el anti-hotlink.

kj
 
En el CURL no olvides agregar los headers que genera la página para un mejor rendimiento.
 
Atrás
Arriba