• Publicidad

Comparar páginas

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

Comparar páginas

Notapor jacks » 2011-04-05 11:23 @516

Hola, soy nuevo en esto y me gustaría saber si podrían ayudarme con un problema.

Quiero crear con Perl un programa que me genere RSS para las páginas que no tengan dicha opción. Con lo cual lo que pensé es en descargarme la página guardándola en una base de datos y volver a descargarme la misma página más adelante y comparar los dos ficheros en los que me descargué la página para encontrar si hay alguna diferencia entre ambas.

El código que me he generado ya me descarga todo el contenido de la página en formato texto. Me gustaría saber cómo hacer para que a partir de ahí poder encontrar diferencias significativas entre ambas, como alguna actualización que se haya hecho o algo. Sino me expresé bien, por favor, hagánmelo saber.

Muchas gracias.
jacks
Perlero nuevo
Perlero nuevo
 
Mensajes: 148
Registrado: 2011-04-05 11:14 @510

Publicidad

Re: Comparar páginas

Notapor explorer » 2011-04-05 13:38 @609

Bienvenido a los foros de Perl en español, jacks.

Para generar los RSS, lo normal es quedarse con los titulares y con algo de texto, de cada entrada o página. Si las pasas a texto, puedes estar perdiendo el formato de la página, y ser más complicado el distinguir el título del resto.

Hay módulos en CPAN que ayudan a buscar la diferencia entre dos textos. Por ejemplo, String::Diff.

Lo malo es que cada sitio web tiene un formato de página, por lo que habría que hacer casi un programa distinto por cada una de ellas.

Yo uso algo así para saber cuándo hay nuevos mensajes en estos foros, en la página de "Ver temas activos". Para ello, uso el complemento "Update Scanner" para el Firefox 4. Podrías bajarlo, para ver su código (está en JavaScript, pero es fácil de seguir).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Comparar páginas

Notapor jacks » 2011-04-05 14:46 @657

Entonces, ¿me recomendarías no hacerlo como te explique antes no por eso de que cada página puede tener un formato diferente?

La verdad que tengo que hacerlo con Perl y me leí bastantes tutoriales y lo que se me ocurrió fue hacer lo que te expliqué.

La verdad ahora me tendré que replantear un poco cómo hacerlo porque lo que me interesa es coger el título y parte de la noticia y aparte un link que te lleve directamente a la noticia.

Quizás parezca muy complicado explicado así pero si pudieras darme un pequeño consejo de por dónde tirar te lo agradecería. Sino iré mirando y te consultare dudas.

Gracias.
jacks
Perlero nuevo
Perlero nuevo
 
Mensajes: 148
Registrado: 2011-04-05 11:14 @510

Re: Comparar páginas

Notapor explorer » 2011-04-05 17:01 @751

Naturalmente que se puede hacer como comentas, pero, ¿sabes qué formato tienen las páginas que vas a analizar?

En HTML, lo normal es usar las marcas <h1>, <h2>, ... <h6> para indicar cabeceras de sección, por lo que son una pista para localizar los titulares de las noticias. Y si son seguidas por marcas de párrafo <p>, pues con más seguridad.

Pero esto no es una regla universal. Depende de cada página. Solo tienes que elegir unas cuantas, para que te des cuenta de la dificultad que entraña.

Mientras que el HTML es un estándar, la disposición no lo es.

(En HTML5 hay más control sobre la semántica del contenido de una página.)

Quizás debas reducir el campo de aplicación, después de explicar la problemática a la que te enfrentas. Si tienes que justificarte ante un profesor, debes llegar a un acuerdo con él, para ver en cuáles y en qué páginas debes aplicar tu programa.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Comparar páginas

Notapor jacks » 2011-04-07 06:21 @306

No sé si servirá, pero buscando en Internet y leyendo un poco que otro algún tutorial he encontrado que con el módulo XML::RSS y algún otro más como el parser se podría hacer algo.

Tengo que leerme un poco más su funcionalidad y métodos en CPAN, pero quería consultarte si es buena opción.

De todas formas no he dado mucho la programación en HTML pero por lo que me comentó mi compañero lo más seguro es que las páginas que utilizaremos utilicen <h1><h2>... para las cabeceras.
jacks
Perlero nuevo
Perlero nuevo
 
Mensajes: 148
Registrado: 2011-04-05 11:14 @510

Re: Comparar páginas

Notapor explorer » 2011-04-07 06:31 @313

jacks escribiste:No sé si servirá, pero buscando en Internet y leyendo un poco que otro algún tutorial he encontrado que con el módulo XML::RSS y algún otro más como el parser se podría hacer algo.
Sí, en CPAN hay de todo.

jacks escribiste:Tengo que leerme un poco más su funcionalidad y métodos en CPAN, pero quería consultarte si es buena opción.
No lo conozco, lo siento. En CPAN hay decenas de miles de módulos. Es imposible conocerlos todos.

jacks escribiste:De todas formas no he dado mucho la programación en HTML pero por lo que me comentó mi compañero lo más seguro es que las páginas que utilizaremos utilicen <h1><h2>... para las cabeceras.
Pues es extraño, entonces, que hayas creado este hilo en el foro de Avanzado... quizás hubiera sido mejor que lo hubieras puesto en el de Básico. Las respuestas que recibirás son muy distintas, unas de otras.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Avanzado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados