• Publicidad

Filtrar publicidad

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.

Filtrar publicidad

Notapor ccorrales001 » 2009-11-12 06:27 @310

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.
ccorrales001
Perlero nuevo
Perlero nuevo
 
Mensajes: 17
Registrado: 2009-01-29 12:01 @543

Publicidad

Re: Filtrar publicidad

Notapor explorer » 2009-11-12 10:22 @474

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.


Sintáxis: [ Descargar ] [ Ocultar ]
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.
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
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: Filtrar publicidad

Notapor ccorrales001 » 2009-11-12 15:34 @690

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
ccorrales001
Perlero nuevo
Perlero nuevo
 
Mensajes: 17
Registrado: 2009-01-29 12:01 @543

Re: Filtrar publicidad

Notapor explorer » 2009-11-12 15:57 @706

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.
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Filtrar publicidad

Notapor ccorrales001 » 2009-11-12 16:08 @714

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
ccorrales001
Perlero nuevo
Perlero nuevo
 
Mensajes: 17
Registrado: 2009-01-29 12:01 @543


Volver a Avanzado

¿Quién está conectado?

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

cron