Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Avanzado » Filtrar publicidad Responder al tema
Nuevo tema


Página 1 de 1  [ 5 mensajes ] 
 
Nota 2009-11-12 06:27 @310

Perlero Nuevo
Registrado: 2009-01-29 12:01 @543
Mensajes: 17
Filtrar publicidad
Hola, muy buenas, espero que algún Perlero sea capaz de ayudarme :D .

Estoy haciendo un proyecto que debe crear resúmenes de búsquedas a través de Yahoo introducidas por un usuario, es decir, si busca 'perro', que se le muestren resúmenes del contenido de las páginas que contienen 'perro'.

Pues bien, tengo hecho un script, el cual mediante el get() me pasa a ficheros búsquedas de Yahoo introducidas por un usuario (en HTML). Tras pasarme a ficheros el número de búsquedas deseadas (10 normalmente), paso mediante un programa html2text de HTML a texto, pues lo que deseo es trabajar con el contenido en texto de dichas búsquedas. El problema que tengo es que además de pasarme el texto, me pasa el código de toda la publicidad, es decir, un montón de mierda (con perdón). Lo que deseo saber es si hay alguna forma de filtrar la publicidad al bajar con el get(), o algún html2text que te filtre la publicidad.

Os dejo un fragmento de un texto pasado mediante el html2text con el código de la publicidad y el texto puro:

<!-- google_ad_client = "pub-0689526051780278"; google_ad_width = 300;
google_ad_height = 250; google_ad_format = "300x250_as"; google_ad_type
= "text"; //2007-04-27: guiarte_300x250 google_ad_channel =
"2207697649"; google_color_border = "FFFFFF"; google_color_bg =
"FFFFFF"; google_color_link = "0000FF"; google_color_text = "000000";
google_color_url = "000000"; //-->

Si hay un monumento emblemático, que muestra el orgullo y el drama de
esta ciudad, ese es La Puerta de Brandemburgo.
[ Cerrar esta ventana ]
 
Puerta de Brandemburgo, con la cuadriga. Deutsche Zentrale für
Tourismus. Rainer Kiedrowski
<
ampliación
>
Tras la derrota y división alemana, la Puerta de Brandemburgo fue
emblema de la división. Era parte integrante del famoso muro que dividía
las dos ciudades. Hoy es símbolo de la unificación y de la libertad de
Alemania; un arco del triunfo que se construyo a finales del siglo XVIII
coronado por la Cuadriga, obra del escultor Johann Gottfried Schadow de
estilo neoclásico. Está situada justo delante de la Pariser Plazt, al
final de la avenida Unter den Linden, y marca el comienzo del magnifico
parque Tiergarten y de la gran avenida del 17 de junio.


En azul la publicidad en rojo el texto que necesito.

Saludos y gracias.


Nota 2009-11-12 10:22 @474
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10250
Re: Filtrar publicidad
Se podría hacer con una expresión regular, pero es mucho mejor y más fácil hacerlo con el fichero HTML original.

Te recomiendo el módulo Yahoo::Search.


Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;

my $resultado = join '', <DATA>;

(my $texto = $resultado) =~ s/<\!-- .*? \/\/--> \s*//smx;

print "$texto\n";


__DATA__
<!-- google_ad_client = "pub-0689526051780278"; google_ad_width = 300;
google_ad_height = 250; google_ad_format = "300x250_as"; google_ad_type
= "text"; //2007-04-27: guiarte_300x250 google_ad_channel =
"2207697649"; google_color_border = "FFFFFF"; google_color_bg =
"FFFFFF"; google_color_link = "0000FF"; google_color_text = "000000";
google_color_url = "000000"; //-->
Si hay un monumento emblemático, que muestra el orgullo y el drama de
esta ciudad, ese es La Puerta de Brandemburgo.
[ Cerrar esta ventana ]

Puerta de Brandemburgo, con la cuadriga. Deutsche Zentrale für
Tourismus. Rainer Kiedrowski
<
ampliación
>
Tras la derrota y división alemana, la Puerta de Brandemburgo fue
emblema de la división. Era parte integrante del famoso muro que dividía
las dos ciudades. Hoy es símbolo de la unificación y de la libertad de
Alemania; un arco del triunfo que se construyo a finales del siglo XVIII
coronado por la Cuadriga, obra del escultor Johann Gottfried Schadow de
estilo neoclásico. Está situada justo delante de la Pariser Plazt, al
final de la avenida Unter den Linden, y marca el comienzo del magnifico
parque Tiergarten y de la gran avenida del 17 de junio.

_________________
JF^D Perl programming


Nota 2009-11-12 15:34 @690

Perlero Nuevo
Registrado: 2009-01-29 12:01 @543
Mensajes: 17
Re: Filtrar publicidad
Gracias explorer, pero no sé si me has entendido bien.

Lo que quiero es filtrar cualquier tipo de publicidad; en este caso era ésa que marqué en azul, pero en otro documento puede tener otro código; cada publicidad tiene su propio código.

Lo que estoy preguntando es si hay alguna aplicación, módulo o lo que sea que sea capaz de filtrar cualquier tipo de publicidad, o casi todas por lo menos.

He probado con el adBlock plus pero no consigo sacar nada de ahí, me lo sigue descargando con todo el código de publicidad.

En cuanto a lo de Yahoo::Search, es el módulo que utilizo. Lo uso para aislar las URL, los descargo y mediante un html2text los paso a texto.

A ver si hay más ideas :D , yo sigo dándole al coco también.

Saludos


Nota 2009-11-12 15:57 @706
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10250
Re: Filtrar publicidad
Aunque el código de la publicidad cambie, lo que no cambia (al menos de forma rápida) es la posición de la publicidad en la página.

O dicho de otra manera: la posición de lo que nos interesa tampoco cambia de forma frecuente.

Mírate -con calma- este hilo anterior donde hemos hablado del Web Scraping de Google, que es muy parecido a lo que quieres hacer con Yahoo.

Al final, yo comento que para esas cosas, prefiero usar WWW::Mechanize o alguno de los módulos de la familia HTML Parser, pues si yo sé la posición donde está lo que quiero, solo tengo que pasarle la página entera a estos módulos y me darán el contenido que quiero usar.


Nota 2009-11-12 16:08 @714

Perlero Nuevo
Registrado: 2009-01-29 12:01 @543
Mensajes: 17
Re: Filtrar publicidad
Gracias explorer, miraré con calma lo que me comentas. Yo usaba el Mechanize, porque lo utilizaba para pasar de HTML a texto también, pero no me diferenciaba párrafos y yo quería que me los diferenciara, y aparte, me imprimía en el documento toda la mierda también.

Saludos


Responder al tema  [ 5 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO