Título: [Ayuda] Como sacar informacion de una web con php
Publicado por: K4 en 10 Diciembre 2007, 02:35 am
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
Título: Re: [Ayuda] Como sacar informacion de una web con php
Publicado por: дٳŦ٭ en 10 Diciembre 2007, 03:08 am
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 ;)
Título: Re: [Ayuda] Como sacar informacion de una web con php
Publicado por: K4 en 11 Diciembre 2007, 02:16 am
Muchas Gracias por el dato, lo estoy probando... Lo que no entiendo es como funciona la funcion get_content, por lo que entedi recupera el codigo html de la apgina es correcto? en el codigo que me pegaste esta comentada, esto es correcto?
Desde ya muchas gracias a vos y a tu programador, Un saludo
Título: Re: [Ayuda] Como sacar informacion de una web con php
Publicado por: K4 en 11 Diciembre 2007, 02:31 am
Muchas Gracias por el dato, lo estoy probando... Lo que no entiendo es como funciona la funcion get_content, por lo que entedi recupera el codigo html de la apgina es correcto? en el codigo que me pegaste esta comentada, esto es correcto?
Desde ya muchas gracias a vos y a tu programador, Un saludo
Ya lo hice andar, pero me anda solo con algunas paginas, por ejemplo probando con la web de tu ejemplo hice $content_titulo = get_content("http://www.oceano.com.mx/"); echo "content: ".$content_titulo; y no me recupera nada, tenes idea a que se puede deber? Tmb te pido si me explicas un poco mas la funcion que creaste get_content, porque no tengo del todo claro como funciona. Gracias por todo y saludos
|