Backupeador de Musica

  • Autor Autor HechiZero
  • Fecha de inicio Fecha de inicio
H

HechiZero

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Alguien en Foro Beta tiene conocimiento en este tipo de php. Lo que pasa es que estaba funcionando normal solo que no se como modificar para seguir backupeando las canciones el que quiero ayudarme compartiré la base de datos.

PHP:
<?php
/*----------------------------------*
Backupeador de Entonados.xxx
Hecho por EdinsonVI
	|Facebook : http://www.facebook.com/JoelitoGM
	|FanPage  : http://www.facebook.com/Edinson.Viggio
	|Twitter  : https://www.twitter.com/EdinsonVI
*-----------------------------------*/
set_time_limit(0);
header('Content-Type: text/html; charset=UTF-8');

include('php/funciones.php');
 
echo Estilo();

// Aqui activamos el modo creador de BD: 1 ó el Bakupeador de Música: 2
$modo = '2'; 

// Modificaciones Opcionales
$carpeta	= 'Musica'; CarpetaDeMusica($carpeta."/");
$ext		= 'mp3';
$gen		= $_GET['gen'];
$art		= $_GET['art'];

/** Leyendo Generos **/
print Generos();
/** Fin Generos **/

/** Leyendo Artistas :v **/
if(!$gen == ''){
print Artistas($gen);
}
/** Fin Artistas :v **/

if($modo == '1'){
	if(!$art == ''){
		$PaginaCA = 'http://www.entonados.com/Musica-'.$gen.'-'.$art.'.html';
		$DatosCA = GetHTML($PaginaCA);
		$DatoCA = str_replace('|', '::', $DatosCA); $Resultados = count($DatosCA);
		preg_match_all("/([0-9]+)::(.*?)::(.*?)::([0-9]+)::(.*?)::(.*?)::/", $DatoCA, $edi);
		$__Gen = Limpiar($gen); /* & */ $__Art = Limpiar($art);
		if($Resultados < 1){echo 'No hay registros.';}else{
			for($_i = 0 ; $_i < sizeof($edi[0]) ; $_i++){
				$desde = "http://".ArreglarURL($edi[6][$_i]);
				$nombre = $edi[3][$_i];
				$data = "INSERT INTO canciones VALUES (NULL, '$__Gen', '$__Art', '$nombre', '$desde', '0')";
				echo ($_i+1).bd_agregar($data, $edi[2][$_i], $edi[3][$_i]);
			}
		}
	}
}elseif($modo == '2'){
	if(!$art == ''){
		$PaginaCA = 'http://www.entonados.com/Musica-'.$gen.'-'.$art.'.html';
		$DatosCA = GetHTML($PaginaCA);
		$DatoCA = str_replace('|', '::', $DatosCA);	$Resultados = count($DatosCA);
		preg_match_all("/([0-9]+)::(.*?)::(.*?)::([0-9]+)::(.*?)::(.*?)::/", $DatoCA, $edi);
		$__Gen = Limpiar($gen); /* & */ $__Art = Limpiar($art);
		if($Resultados < 1){echo 'No hay registros.';}else{
			@mkdir(getcwd()."/".$carpeta."/".$__Gen."/");
			@mkdir(getcwd()."/".$carpeta."/".$__Gen."/".$__Art."/");
			for($_i = 0 ; $_i < sizeof($edi[0]) ; $_i++){
					$desde = "http://".ArreglarURL($edi[6][$_i]);
					$para = $carpeta."/".$__Gen."/".$__Art."/".$__Art." - ".$edi[3][$_i].".".$ext;				
					if(!file_exists($para)){
						if(copy($desde, $para)){
							echo ($_i+1).'.-  <b>Cantante:</b> '.$edi[2][$_i].' <b>Cancion:</b> '.$edi[3][$_i].' - Agregada<br>' ;
						}else{
							echo ($_i+1).'.-  <b>Cantante:</b> '.$edi[2][$_i].' <b>Cancion:</b> '.$edi[3][$_i].' - Error al Copiar<br>' ;
						}
					}else{
						echo ($_i+1).'.- <b>Cantante:</b> '.$edi[2][$_i].' <b>Cancion:</b> '.$edi[3][$_i].' - Duplicada<br>' ;
					}
			}
		}
	}
}
?>

Este es el de funciones

PHP:
<?php 
/*----------------------------------*
Archivo: funciones.php
Hecho por EdinsonVI
	|Facebook : http://www.facebook.com/JoelitoGM
	|FanPage : http://www.facebook.com/Edinson.Viggio
	|Twitter : https://www.twitter.com/EdinsonVI
*-----------------------------------*/
function GetHTML($strURL){
$ch = curl_init();
curl_setopt($ch, CURLOPT_REFERER, "http://www.entonados.com/");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $strURL);
$buffer = curl_exec($ch);
curl_close($ch);
return $buffer;
}
function Leer($beg, $end, $str) {
$a = explode($beg, $str, 2); $b = explode($end, $a[1]);
return $beg . $b[0] . $end;
}
function Limpiar($_Edi) {
$a = array('-', '_'); $b = array(' ', ' ');
$_Edi = str_replace($a, $b, $_Edi) ;
return $_Edi;
}
function ArreglarURL($_Edi) {
$a = array(' ', '%2F'); $b = array('%20', '/');
$_Edi = str_replace($a, $b, $_Edi) ;
return $_Edi;
}
function bd_agregar($_Edi, $_Cantante, $_Cancion) {
$mysqli = new mysqli("localhost", "USUARIO", "CONTRASEÑA", "BASEDEDATOS");
$mysqli->set_charset("utf8");
if(mysqli_connect_errno()){printf("Error de conexión: %s\n", mysqli_connect_error());exit();}
$mysqli->query($_Edi);
$mysqli->close();
$print = '.- <b>Cantante:</b> '.$_Cantante.' <b>Cancion:</b> '.$_Cancion.' - Agregada a la BD<br>';
return $print;
}
function Generos() {
$PaginaCS = "http://www.entonados.com/";
$DatosCS = GetHTML($PaginaCS);
$Generos = Leer('<div id="gen">', '</div>', $DatosCS);
$aray1 = array('href="/Musica-', '.html" ', 'onclick="javascript:GAP();"', 'title="');
$aray2 = array('href="?gen=', '" ', 'class="generos"', 'title="Backupear - ');
$i_Generos = str_replace($aray1, $aray2, $Generos) ;
return $i_Generos;	
}
function Artistas($g) {
$PaginaAR = "http://www.entonados.com/Musica-".$g.".html";
$DatosAR = GetHTML($PaginaAR);
$Artistas = Leer('<div id="artist">', '</div>
<!--END Artistas-->', $DatosAR);
$url = 'href="./Musica-'.$g.'-';
$urln = 'href="?gen='.$g.'&art=';
$bus1 = array($url, 'onClick="javascript:GAP();"', 'title="', '.html" ');
$bus2 = array($urln, 'class="artista"', 'title="Backupear - ', '" ');
$i_Artistas = str_replace($bus1, $bus2, $Artistas);
return $i_Artistas;
}
function Estilo() {
$estilo = '<style> a.artista {width:180px;float:left;text-decoration: none;}a.generos {width:180px;float:left;text-decoration: none;border-bottom: 1px [B]Enlace eliminado[/B]  solid;margin-bottom: 5px;}div#gen {width: 900px;margin: 0 auto;border-radius: 5px;border: 1px solid;overflow: hidden;padding: 10px;background: rgb(211, 211, 211);} ol, ul {list-style: none;margin: 9px 0px;padding: 0px 14px;} li {margin: 0px;padding: 0px;list-style: none;} div#artist {width: 253px;margin-left: 35px;float: left;border: 1px solid;margin-top: 12px;border-radius: 5px;background: rgb(211, 211, 211);} </style>';
return $estilo;	
}
function CarpetaDeMusica($carpeta) {if(!is_dir($carpeta)){@mkdir($carpeta."/");}}
 
Por lo que veo tu script es un crawler que toma las canciones de otro sitio, si para mañana no te han contestado yo te hago uno mas eficiente...bye
 
claro javier y espero que lo compartas con la comunidad forera muchas gracias pero seria bueno el backupeador de enladisco 🙂
 
si javier gracias como vez ya se cumple una semana desde que publique el post y nadie ayuda 🙁
 
Estuve verificando la pagina y pareciese que cambiaron las formas de ver las paginas por lo que el backupeador que tienes dejo de funcionar, el de genero veo que tienes a traves de un enlace como html pero si visitas la pagina, no lo tiene de esa forma.
Es reacomodar algunas cosas y asi ver para hacer lo que quieres.
Ese script que tienes ahi guarda algunos datos en la bd, por lo que para probar se necesitaria tambien el script para crear las tablas que tienes e ir probando.
 
eso es cierto cambiaron la ruta de la musica que se va a backupear en cuanto a las tablas eso no es necesario por que primero tenemos que tener las canciones ya backupeadas en tu hosting.
 
A lo que voy es para probar lo que necesitas, necesitaria que pases los scripts de las tablas que se usa para ese script.
 
Interesante este codigo, voy a probarlo.
 
sobre el d enladisco la tengo su db de esa web
 
seria buena que compartas la db o almenos un backupeador 🙂 lo malo que su musica es de muy mala calidad
 
Hola

No te funciona por que cambiaron los link para el preg_match o sea ya no es

http://www.entonados.com/Musica-'.$gen.'-'.$art.'.html

ahora es

http://www.entonados.com/'.$gen.'/'.$art.'

asi que tu script no encuentra el preg_match, tambien cambiaron la posicion de la direccion antes era

<div id="gen">', '</div>'

ahora es un li

<li> </li>

Necesitas alguien que te componga el script, de hecho es volver a hacerlo.

Saludos
 
Atrás
Arriba