Holas
Alguien sabe como puedo sacar informacion publicada en una web para luego poder procesarla y guardarla en mi BD. Los datos estan publicados en texto simple dentro de la web.
Me gustaria hacerlo con php, pero si saben como hacerlo con otro lenguaje diganmelo tmb , gracias
Pues puedes con cURL, mira:
<?php
//bot mcgrahill espanol
function conectar($host, $user, $pass, $database){
return $conectar;
}
$conexion=conectar("algo","algomas","mas","tienda");
$data=file('lista_mcgrawhill.txt');
$i=0;
function get_content($url){
}
/*function get_content($url){
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_HEADER, 0);
ob_start();
curl_exec ($ch);
curl_close ($ch);
$string = ob_get_contents();
ob_end_clean();
return $string;
}*/
for($i;$i<$num;$i++){
$datos_nuevos=$data[$i];
$datos_nuevos=explode("\t",$datos_nuevos);
$content_titulo = get_content("http://www.oceano.com.mx/libro_detalle.asp?isbn=".$datos_nuevos[8]);
//Sacar imagen grande
$content_imagen_giga=get_content("http://www.oceano.com.mx/detallelibroimpresion2.asp?isbn=".$datos_nuevos[8]);
$expCadena1_imagen_giga=explode("<IMG SRC=\"", $content_imagen_giga); $expCadena2_imagen_giga=explode("\" HSPACE=\"10\" VSPACE=\"0\">", $expCadena1_imagen_giga[1]);
//Sacar formato
$content_formato = get_content("http://www.oceano.com.mx/libro_detalle.asp?isbn=".$datos_nuevos[8]);
$expCadena1_formato = explode("<TD BGCOLOR=\"#FFFFFF\" class=\"Estilo17\"><span class=\"Estilo32\">", $content_formato); $expCadena2_formato = explode("</font></font> </span></TD>", $expCadena1_formato[1]); $expCadena2_formato[0]=str_replace("<font color=\"#000000\"><font color=\"#000000\">","",$expCadena2_formato[0]);
$formato_final=$expCadena2_formato[0];
//declaramos la basura
$basura_formato=array("(gramos)","(cm)","\r\n");
//quitamos la basura
$formato_final=str_replace($basura_formato,"",$formato_final);
//hacemos un array por cada corte de X
$formato_final=explode("x",$formato_final);
//Codigo barkua
//coleccion viene vacia?
if($datos_nuevos[5]!=""){
$coleccion_final="1";
}
else{
$coleccion_final="0";
}
//Obtenemos la desc
$content = get_content("http://www.oceano.com.mx/libro_detalle.asp?isbn=".$datos_nuevos[8]);
$expCadena1 = explode("Estilo27\">", $content); $expCadena2 = explode("<span class=\"Estilo17\">", $expCadena1[1]);
//Saca ano
$content_ano = get_content("http://www.oceano.com.mx/libro_detalle.asp?isbn=".$datos_nuevos[8]);
$expCadena1_ano = explode("<TD colspan=\"2\" BGCOLOR=\"#FFFFFF\" class=\"Estilo17\"><span class=\"Estilo32\">", $content_ano); $expCadena2_ano = explode("/<font color=\"#000000\">", $expCadena1_ano[1]);
$expCadena2_ano[0]=str_replace("1a","",$expCadena2_ano[0]); $expCadena2_ano[0]=str_replace("/","",$expCadena2_ano[0]); $expCadena2_ano[0]=trim($expCadena2_ano[0]);
$formato_final[3]=trim($formato_final[3]); $formato_final[1]=trim($formato_final[1]); $formato_final[0]=trim($formato_final[0]);
$expCadena2_ano[0]=str_replace("/","",$expCadena2_ano[0]); $expCadena2_ano[0]=trim($expCadena2_ano[0]);
$coleccion_final="0";
//Rutina para imagen
/*$archivo= "http://www.oceano.com.mx/".$expCadena2_imagen_giga[0];
$destino = "fotos_libros/lib_".$datos_nuevos[8].".jpg";
copy($archivo, $destino);*/
$titulo=$datos_nuevos[2];
$autor=$datos_nuevos[1];
$editorial='2';
$precio2007=$datos_nuevos[6];
$isbn=$datos_nuevos[0];
$codigo_barra=$datos_nuevos[5];
$tema=$datos_nuevos[3];
$ano=$datos_nuevos[4];
$descripcion=ltrim($descripcion); $descripcion=rtrim($descripcion);
$sql_ingreso="
INSERT INTO `dbarkuac_tienda`.`libros`(
`id`,`titulo`,`subtitulo`,`descr_corta`,`descr_larga`,
`tema`,`subtema`,`codigo_barkua`,`codigo_barras` ,
`isbn`,`autores`,`editoriales_id`,`edicion`,`num_pags`,
`coleccion`,`coleccion_titulo`,`coleccion_pzas`,`peso`,
`dimensiones_largo`,`dimensiones_ancho`,`dimesiones_espesor`,
`foto_url`,`foto2_url`,`foto3_url`,`pdf_interiores_url`,
`palabras_clave`,`promedio`,`agregado_por`,`fecha_agregado`,
`modificado_por`,`fecha_modificado`,`fecha_ultima_venta`,
`cantidad_vendida`,`existencias`,`notas`,`precio_compra`,
`precio_venta`,`precio_oferta`)
VALUES (NULL , '".$titulo."' , NULL , NULL , '".$descripcion."',
'".$tema."', NULL, '".$better_token."', '".$codigo_barra."',
'".$isbn."' , '".$autor."', '".$editorial."', '".$ano."', NULL , '".$coleccion_final."',
'".$coleccion."', NULL , '".$peso."','".$largo."',
'".$ancho."', '".$espesor."' , '".$destino."', NULL , NULL,
'0', NULL , '0', NULL , '".$fecha_hoy."', NULL , NULL , NULL , '0', '".$existencias."',
NULL , '', '".$precio_final."', '');";
if(!$graba_todo){
}
echo "Registro no. <b>".$i."</b><br>";
//sleep(5);
}
?>
</pre>
Lo hizo uno de mis programadores, obvio se puede mejorar con ee.rr, si tienes duda avisanos