Peticion Clonar canales de youtube

snekone

Cobre
Usuario de Bronce
Mensajes
626
Puntuación de reacción
0
Buenas me gustaria que alguien que estubiera tambien interesado en tenerlo y tiene conocimientos de php nos ayudara y hagamos este script, yo de momento tengo de descargar, ver descripcion,titulo,etiquetas del video y subir.
faltaria alguien que supiera enlazarlos y faltaria el de ver los enlaces de todos los videos del canal con esto ya tendriamos una gran parte, pongo aqui los scripts de cada cosa, un saludo.

https://www.dropbox.com/s/e4z7w3qfpgo45tu/clonar php.odt
 

ivansito

Suspendido
Mensajes
117
Puntuación de reacción
0
exacto algo asi, de donde lo has conseguido este? podrias pasarlo? un saludo

lo mande a hacer, no puedo pasartelo pero puedo rentartelo por 30 días, al final si sigues interesado te lo rento más tiempo, saludos
 

snekone

Cobre
Usuario de Bronce
Mensajes
626
Puntuación de reacción
0
bueno esperemos que alguien con conocimientos php se apunte hacerlo, podriamos hacerlo como proyecto y que cada uno ponga su granito de arena asi tendremos un resultado como el del video, un saludo
 

beak

Cobre
Usuario de Bronce
Mensajes
498
Puntuación de reacción
0
bueno esperemos que alguien con conocimientos php se apunte hacerlo, podriamos hacerlo como proyecto y que cada uno ponga su granito de arena asi tendremos un resultado como el del video, un saludo

no se cual es la ventaja de utilizar el script a ir clonando canales con otro tipo de metodos
cual es el inconveniente, si quieres que te clonen algunos contactame te cobro barato
 

snekone

Cobre
Usuario de Bronce
Mensajes
626
Puntuación de reacción
0
Investigando un poco he conseguido el script de obtener la informacion de un canal con todos los videos, digamos que ya tengo todo el contenido para poder trabajar y poder unir todas las partes del script, algo dificil que si algun interesado que sepa php me pueda ayudar se lo agradeceria mucho, entre unos cuantos podemos tener este script en poco tiempo bueno dejo aqui el codigo por si a alguien le interesa

<?php

class YoutubeVideos
{
private $xml_data;

public $channel;
public $max_results;
public $max_title_chars;
public $max_description_chars;
public $start_index;

public function __construct($channel, $max_results = 50, $start_index = 1)
{
if (!function_exists("simplexml_load_file"))
{
echo "The simplexml_load_file function was not found. Please upgrade to PHP 5.";
exit();
}

if (!empty($channel))
{
$this->channel = $channel;
$this->max_results = $max_results;
$this->start_index = $start_index;

$feed_url = "http://gdata.youtube.com/feeds/api/users/" . $this->channel . "/uploads?max-results=" . $this->max_results . "&start-index=" . $this->start_index;

$this->xml_data = simplexml_load_file($feed_url);
}
else
{
echo "There is no channel name. Please consult the documentation.";
exit();
}
}

public function display($max_title_chars = 30, $max_description_chars = 40, $embed = false, $embed_width = 180, $embed_height = 101)
{
echo '<ul class="ytcg_ul">';

foreach ($this->xml_data->entry as $entry)
{
$video_url = $this->get_video_url($entry);
$video_thumbnail = $this->get_thumbnail($entry);
$video_title = $this->get_title($entry);
$video_description = $this->get_description($entry);
$video_title = $this->shorten_text($video_title, $max_title_chars);
$video_description = $this->shorten_text($video_description, $max_description_chars);

echo '<li>';

if ($embed)
{
$this->player($this->watch_id($video_url), $embed_width, $embed_height);
}
else
{
echo '<a href="' . $video_url . '"><img src="' . $video_thumbnail . '" alt="' . $video_title . '" /></a>';
}

echo '<div><a href="' . $video_url . '"><span>' . $video_title . '</span></a><p>' . $video_description . '</p></div>';
echo '</li>';
}

echo '</ul>';
}

public function video_info($video_id)
{
$return_array = array();
$feed_url = "http://gdata.youtube.com/feeds/api/videos/" . $video_id . "?v=2&alt=json";

if ($json_data = @file_get_contents($feed_url))
{
$json_data = json_decode($json_data);

$views = $json_data->{'entry'}->{'yt$statistics'}->{'viewCount'};
$favorites = $json_data->{'entry'}->{'yt$statistics'}->{'favoriteCount'};
$dislikes = $json_data->{'entry'}->{'yt$rating'}->{'numDislikes'};
$likes = $json_data->{'entry'}->{'yt$rating'}->{'numLikes'};

$return_array['views'] = $views;
$return_array['favorites'] = $favorites;
$return_array['dislikes'] = $dislikes;
$return_array['likes'] = $likes;

return $return_array;
}
else
{
die("Your file_get_contents cannot open external URLs. You cannot use this function until it is enabled");
}
}

public function shorten_text($text, $max_chars)
{
if (strlen($text) > $max_chars)
$text = substr_replace($text, "...", $max_chars);

return $text;
}

public function get_video_url($entry)
{
$video_data = $entry->children('media', true);

return (string)htmlspecialchars($video_data->group->player->attributes()->url);
}

public function get_thumbnail($entry)
{
$video_data = $entry->children('media', true);

return (string)htmlspecialchars($video_data->group->thumbnail[0]->attributes()->url);
}

public function get_title($entry)
{
$video_data = $entry->children('media', true);

return (string)htmlspecialchars($video_data->group->title);
}

public function get_description($entry)
{
$video_data = $entry->children('media', true);

return (string)htmlspecialchars($video_data->group->description);
}

public function get_keywords($entry)
{
$video_data = $entry->children('media', true);

return (string)htmlspecialchars($video_data->group->keywords);
}

public function get_category($entry)
{
$video_data = $entry->children('media', true);

return (string)htmlspecialchars($video_data->group->category);
}

public function watch_id($url)
{
preg_match('/v=(.+?)&+/', $url, $watch_id);

return $watch_id[1];
}

public function player($watch_id, $width = 560, $height = 315)
{
echo '<iframe width="' . $width . '" height="' . $height . '" src="http://www.youtube.com/embed/' . $watch_id . '" frameborder="0"></iframe>';
}

public function get_xml()
{
return $this->xml_data;
}
}

?>
 
Mensajes
279
Puntuación de reacción
0
Me gustaría aportar mi experiencia sobre esto aunque se desvié un poco del propósito de crear un clonador de canales de YT.
Para bajarse todos los vídeos de un canal solo necesitas jdownloader y copiar el nombre del canal. Esto te cargara automáticamente todos los vídeos en todos los formatos (aquí tendrás que elegir el formato que quieras descargar y borrar el resto). Posteriormente vas a tu canal, le das a subir vídeo y seleccionas todos los vídeos de tu carpeta de descarga y los arrastras al navegador. Automáticamente empezaran a subirse uno detrás de otro. so lo queda rellenar los campos de descripción y tags, pero esto puedes haberlo hecho anteriormente en valores predeterminados o posteriormente desde tu canal seleccionando los vídeos que deben llevar una descripción común, etc.

Comento esto porque el script de youtube esta en constante evolución y el php que hoy te funcione para realizar esta tarea mañana dejara de hacerlo.

Por otro lado, esto que propones está penalizado por youtube y es motivo de baneo. No te quiero contar si ademas pretendes monetizarlos, si no andas con ojo puedes perder la cuenta de correo y ser baneado de google también por incumplimiento de los TOS, y perder tu cuenta de adsense.

Por último te preguntaría ¿cual es el propósito de clonar canales y tantos vídeos? porque en YT lo que realmente necesitas es un vídeo viral y para ser viral debe ser genuino (que no lo tenga nadie más) y aplicar los esfuerzos en divulgarlo.
Se que suena a topicazo pero créeme, es lo único que te van a permitir y a la larga lo que realmente funciona.

PD.- Cuidado con el clontube, parece ser que a habido problemas de robo de cuentas en foro beta con este script.
 
Arriba