Script Para Bajar Una Cita Aleatoria


Objetivo: Script Para Bajar Una Cita Aleatoria
Hola, me puse a perder el tiempo con esto, en realidad quiero hacer un widget con python, pero mientras hice este script

#!/usr/bin/env gbs2
'Script que descarga una cita aleatoria de sabidurias.com
USE "gb.net"
USE "gb.pcre"
USE "gb.net.curl"

PRIVATE hCliente AS NEW HttpClient AS "Cliente"
PRIVATE sCita AS String
PRIVATE sAutor AS String


PUBLIC SUB Descargar_Pagina()
'Establece opciones del objeto de CURL
hCliente.Close
hCliente.Async = TRUE
hCliente.Timeout = 20
hCliente.URL = "http://www.sabidurias.com/frase-infinita/es"
hCliente.Get()

END

PUBLIC SUB Cliente_Error()
'Si hubo un error descargando la pagina (de CURL)
PRINT "No se pudo establecer conexion"

END


PUBLIC SUB Cliente_Finished()
'Se ejecuta cuando se descarga satisfactoriamente la página
DIM sTexto AS String
IF Lof(hCliente) THEN
READ #hCliente, sTexto, Lof(hCliente)
IF Obtener_Cita(sTexto) THEN
PRINT "No se pudo obtener la cita"
ELSE
PRINT "\"" & Trim(sCita) & "\", " & Trim(sAutor)
ENDIF
ELSE
PRINT "Error: Se descargo una página vacia"
ENDIF


END

PUBLIC FUNCTION Obtener_Cita(sTemp AS String) AS Integer
'Toma el texto y obtiene la cita con expresiones regulares, devuelve 1 si fallo algo
DIM rExpresion AS Regexp

DIM sPatronCita AS String
DIM sPatronAutor AS String

sPatronCita AS String = "_cita\">([^><]*)</a" 'entre _cita"></a tomar tomar todos los caracteres que no seab un > o un <
sPatronAutor AS String = "_home\">([^><]*)</a" 'mismo

TRY rExpresion = NEW Regexp(sTemp, sPatronAutor)
IF ERROR THEN RETURN 1
IF rExpresion.SubMatches.Count > 0 THEN
sAutor = rExpresion.SubMatches[1].Text
ELSE
RETURN 1
ENDIF



TRY rExpresion = NEW Regexp(sTemp, sPatronCita)
IF ERROR THEN RETURN 1

WHILE rExpresion.SubMatches.Count > 0 'recorrer el texto y cuando se encuentra parte de la cita borrarlo asi no aparece de nuevo

sCita &= rExpresion.SubMatches[1].Text & " "
sTemp = Mid(sTemp, rExpresion.Offset + 1 + Len(rExpresion.SubMatches[1].Text))
rExpresion = NEW Regexp(sTemp, sPatronCita)
IF ERROR THEN RETURN 1
WEND
END


PUBLIC SUB Main()

Descargar_Pagina()

END



screenshot

Perfil MP  
Objetivo: Re: Script Para Bajar Una Cita Aleatoria
Jejejeje, que chido script, gracias!


Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1259s (PHP: -9% SQL: 109%)
Consultas SQL: 23 - Debug off - GZIP Activado