Tutorial: Horóscopo Gratis (Script)

  • Autor Autor Cicklow
  • Fecha de inicio Fecha de inicio

modificaron el sitio web los de abc...ahora edito
 
Mil gracias maestro :encouragement:
 
[MENTION=13754]libreman[/MENTION] listo solucionado:
PHP:
<?php
    //Evitamos que el script se pare por falta de tiempo (30 seg por defecto)
    set_time_limit(0);
    //Nuestro array de los horos a obtener
    $S = array('acuario','aries','cancer','capricornio','geminis','libra','leo','piscis','sagitario','escorpio','tauro','virgo');
    //Recorremos el array
    foreach($S as $H){
        //Leemos el sitio abc.es pasandole el horos a leer
        $URL = "http://horoscopo.abc.es/signos-zodiaco-".$H."/horoscopo-hoy.html";
        $A = @file_get_contents($URL);
        //si obtenemos los datos vamos a parsearlos
        if($A!=""){
            //un boot sin preg_match no es un boot! jejeje.. obtenemos el texto del horos, este se encuentra dentro de un DIV
            preg_match('|<p><p[^>]+>(.*)</p></p>|sU',$A,$B);
	    if($B[1]==""){
	            preg_match('|<p><p>(.*)</p></p>|sU',$A,$B); //test de nuevo hay horos que no cumplen el primen preg_match
	    }
	    if(strlen($B[1])>10){
	            $HO = strip_tags($B[1]);
        	    $HO = str_replace("\n"," ", $HO);
	            $HO = htmlentities($HO);
        	    file_put_contents("cache/".$H.".txt",$HO);
	            echo "Bien: ".$H."\n<br/>";
	    }else{
	            echo "Error ".$H."\n<br/>";
	    }
        }else{
            //mostramos error
            echo "Error ".$H."\n<br/>";
        }
    }
    die("Horos OK!");
?>
 
[MENTION=9679]cicklow[/MENTION] +10
Eres un monstruo como siempre en tiempo record
y yo lleva 1 hora intentandolo jejejeje
mil gracias maestro
 
Hola Cicklow, los textos de los signos, aparecen siempre iguales todos los días. En una carpeta "Cache", tengo 12 archivos.txt y son los que siempre se muestran. ¿qué estoy haciendo mal? Si quito esa carpeta, no aparece nada como respuesta. Gracias!
 
Excelente, ya está solucionado :encouragement:
 
en abc ha vuelto a poner enlaces dentro del texto y se muestra mal en cache.
 
estoy haciendo pruebas con ello, de momento me funciona un poco mal, pero es cosa mia... poco a poco va funcionando 🙂🙂🙂
 
estoy haciendo pruebas con ello, de momento me funciona un poco mal, pero es cosa mia... poco a poco va funcionando 🙂🙂🙂

¿Tienes problemas con las tíldes? Solo me pasa en los textos de los horóscopos, en el resto del sitio se muestran normal.
 
no ,con las tildes no tengo problema.
problemas con las tildes te refieres a UTF-8 y ANSI?

nada, esque no soy experto en estas cosas y me gusta trastear con ello para ir aprendiendo, voy solucionando poco a poco y haciendo pruebas jejeje
 
¿Tienes problemas con las tíldes? Solo me pasa en los textos de los horóscopos, en el resto del sitio se muestran normal.

Yo si tengo problemas con tildes, antes no tenia ningun problema.
 
Ejemplo de aplicación android con el script de horóscopos gratis.

HoroscopoDiario.apk

Les agradecería su opinión para mejorar la app.
Gracias!
 
Última edición:

es raro que sea siempre el mismo horos, ya que el crea cache recorre el array de los horos y va sacando cada uno

- - - Actualizado - - -

en abc ha vuelto a poner enlaces dentro del texto y se muestra mal en cache.

los enlaces son eliminados con el script
PHP:
$HO = strip_tags($B[1]);
si se ve mal el cache solo sacar:
PHP:
$HO = htmlentities($HO);

- - - Actualizado - - -

¿Tienes problemas con las tíldes? Solo me pasa en los textos de los horóscopos, en el resto del sitio se muestran normal.

fijate si sacando
PHP:
$HO = htmlentities($HO);
se soluciona

- - - Actualizado - - -

Ejemplo de aplicación android con el script de horóscopos gratis.

HoroscopoDiario.apk

Les agradecería su opinión para mejorar la app.
Gracias!

"Tu horóscopo del diario" ?? es "Tu horóscopo diario", por lo demas esta muy bien!
 



Gracias, si se soluciono sacando $HO = htmlentities($HO);
 
Muchas gracias amigo, excelente aporte, es mas, hiciste todo amigo, solo tuve que subirlo y colocar el cron, y listo
Horoscopo Gratis
Horoscopo Gratis
😛8:😛8:😛8:😛8:😛8:
 
Primero que nada agradecerte por el tuto, ya lo había visto y decidí implementarlo.

Leyendo el topic pude resolver la mayoría de las cuestiones salvo la de los permalinks. Probé añadiendo en el archivo .htaccess principal el código pero continúan con la siguiente estructura:

Insertar CODE, HTML o PHP:
index.php?horos
index.php?horos=geminis

Pensé que no funcionaba porque no había configurado el RSS aggregator -que los modifico-, pero no logro que se corrijan.

 

es que el .htaccess solo no hace nada... tienes que editar los archivos donde esta la estructura para que acepte la del .htaccess
index.php (o el nombre que le colocaste)
PHP:
echo '<a href="?horos='.$S[$K].'"><img src="zodiac/'.$A.'" style="width:180px;padding:5px;float:left;" border="0"></a>';
por
PHP:
echo '<a href="'.$S[$K].'_'.$K.'.html"><img src="zodiac/'.$A.'" style="width:180px;padding:5px;float:left;" border="0"></a>';

horosRSS.php
PHP:
<link>'.WEB.'index.php?horos='.$S[$SIG].'</link>
<guid isPermaLink="false">'.WEB.'index.php?horos='.$S[$SIG].'</guid>
por
PHP:
<link>'.WEB.$S[$SIG].'_'.$SIG.'.html</link>
<guid isPermaLink="false">'.WEB.$S[$SIG].'_'.$SIG.'.html</guid>

con eso ya tendria modrewrite funcional! (geminis_6.html, etc...)
 
es que el .htaccess solo no hace nada... tienes que editar los archivos donde esta la estructura para que acepte la del .htaccess

Gracias por la pronta respuesta.

Modifique tal cual y los permalinks quedaron funcionando correctamente, pero no me llevan al contenido sino que generan un 404. Adicionalmente ingresando a URL/horosRSS me quedo sin nada que mostrar.
 
Gracias por la pronta respuesta.

Modifique tal cual y los permalinks quedaron funcionando correctamente, pero no me llevan al contenido sino que generan un 404. Adicionalmente ingresando a URL/horosRSS me quedo sin nada que mostrar.

colocaste el .htaccess?... podrias pasarme la url por pm a ver... el rss puede que quede en blanco porque no tienes mostrar errores, entonces se queda en blanco... peudes ver el error_log a ver si ahi te dice algo
 

Temas similares