Tutoriales de programacion
Manuales - Diseño - Recursos - Codigo Fuente - Foros - Herramientas - Libros - Trucos - Software - cursospropios - direct.
Codigo: volver a home - allscripts - asp - php - vb - perl - tips&tricks
codigo fuente
AñadeFavoritos
RegistroNewsletter
Untitled Document
canales exlusivos: adsl flash aspvisual fox pro php visual basic y mas...
+ de 45.000 registrados
Documento sin título
Codigo Fuente de: J avaScripts - PHP - ASP - PERL - Oracle - mySQL - Tips&Tricks -VB - VFox
Documento sin título
JavaScripts de: banners - Datos - Formularios - Imagenes - Navegacion - textos - variados -Direct.[New]
Un plan para triunfar en tu negocio.ONO Negocios. *12Mb reales/600Kb de subida.
*Desde 2 lineas con llamadas gratis. *WIFI+Seguridad+Alta+Instalación GRATIS.

Documento sin título
codigo fuenteCodigo Fuente

+Codigo Fuente de:
+ JavaScripts
+ PHP
+ ASP
+ PERL
+ Oracle
+ mySQL
+ Visual Basic
+ Visual Fox Pro
+ AJAX nuevo
+ Bases de datos

codigo fuente Tips
+ Tips&Tricks

codigo fuente JavaScripts de:
+ banners
+ Datos
+ Formularios
+ Imagenes
+ Navegacion
+ textos
+ variados

codigo fuente Hot Scripts
+ Foros
+ Blogs
+ Libro de visitas
+ Listas de correo
+ Noticias -
+ Sistema de Webs
+ Admin de FAQ´s
+ Contadores
+ Estadisticas

+Resto de la Web

+ Pagina de Inicio

+Newsletter
+InscribeteGratis

+Manuales
+Programacion
+DiseñoWeb
+Office/Ofimatica
+S.O.
+Aplicaciones
+Manual.propios

+Trucos
+Ver secc.trucos

+Recursos
+secc.recursos

+Codigo Fuente:
+Todos los script
+ASP
+PHP
+Visual Basic
+JavaScript
+Perl
+Tips&Tricks

+Comunidad
+Foros
+Ganar dinero
+Herramientas
+Libros

+Webmasters
+Webmasters
+ G o o g l e

+Software
+ir a secc. Soft

+AreasExclusivas
+Zona Flash
+Zona PHP
+Zona ASP
+Zona VB
+Zona ADSL
+Zona MAC

+Noticias [N]
+ir a noticias

+DiVX
+Area Divx

+Games/Ocio
+Area Juegos

+Canal Compras
+Compras N

+Directorio [New]
+Ver directorio

Codigo fuente en PERL
Codigo Fuente
volver a Codigo Fuente
Perl Code
Crear un Buscador en Perl



Autor Christian Gustavo Riva http://cgrsoftware.com

Programa un Buscador para tu Sitio Web
Un buscador de contenidos en un Sitio Web no solo es sinonimo de cierto prestigio o calidad en el desarrollo, sino que ademas es una excelente y utilisima opcion para los usuarios que lo visiten, particularmente si tienes muchas paginas.
El siguiente codigo te mostrara como puedes hacer tu mismo un Buscador en Perl, de manera muy simple y sin ningun enfasis en el diseño de la pagina de resultados.
La implementacion del buscador se encuentra dividida en 3 etapas:

1. El codigo en Perl, ubicado en la carpeta CGI-BIN (o similar) de tu sitio.
2. El mini formulario de busqueda dentro de tus paginas HTML
3. Los delimitadores de "bloques" dentro de cada una de las paginas HTML de tu Sitio que quieras que sean exploradas.

El mini formulario debera ser el siguiente:

<FORM ACTION="http://www.tu-dominio/cgi-bin/buscador.pl">
Palabras a buscar: <INPUT TYPE=TEXT NAME=topicos></FORM>

(lo unico importante de este formulario es nombrar "topicos" a la variable donde se deben ingresar las palabras a buscar, y la ubicacion correcta del script "buscador.pl" dentro de tu sitio).

Los delimitadores de bloques son solo dos TAGS HTML que deberas agregar en todas las paginas que quieras que sean dadas como resultados de las busquedas.
Estos dos TAGS (inicio y final del bloque) deberan estar al comienzo del texto que quieras que sea analizado, y al final del mismo.
Un ejemplo seria el siguiente:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Este texto no quiero que sea analizado por el buscador
por lo que sera omitido de la busqueda
<!$>
pero este texto SI quiero que sea analizado y aparezca en los resultados
si el usuario ingreso alguna palabra incluida en este bloque
<!\$>
Finalmente, este texto tampoco sera analizado ya que no se encuentra
encerrado entre los TAGS delimitadores
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

La posibilidad de delimitar por bloques determinados contenidos de cada una de las paginas te permitira omitir de los resultados de busqueda textos irrelevantes (menues, cabeceras, etc).

Recuerda que el codigo es para uso libre y su finalidad es introducirte en los conceptos que trata y animarte a que experimentes por tu cuenta.
Si publicas u ofreces a terceros una version modificada del mismo, no olvides mencionar al autor original como figura en su cabecera.

.
BUSCADOR.PL
###################################
# (C) 2001 Christian Gustavo Riva #
# http://www.cgrsoftware.com #
###################################
#!/usr/bin/perl

use strict;

## Utilizamos el modulo CGI para tomar el formulario Web:
use CGI;
my $cgi = new CGI;

## Capturamos las palabras a buscar:
my $topicos = $cgi->param('topicos');

## Direccion URL de nuestro Sitio Web:
## (no agregues un slash "/" al final!!)
my $host = 'http://www.cgrsoftware.com';

## Path local de nuestro Sitio Web:
## (agrega un slash "/" al final!!)
my $directorio = '/www/docs/cgrsoftware.com/public_html/';

my $coincidencias = 0;
my $titulo;

print "Content-type: text/html\n\n";

## Comenzamos a dar salida a los resultados:
print "Buscando por <B>$topicos</B>:<BR>";

## Abrimos (si podemos) el directorio a explorar:
unless( opendir(DIR, $directorio ) )
{ print "Error: $!"; exit; }

## Codigo HTML para mostrar resultados numerados:
print '<ol>';

## Tomamos uno por uno a los archivos del directorio:
while ($_=readdir(DIR))
{
## No vamos a analizar carpetas ni archivos que no
## tengan extension .HTM o .HTML:
next if -d $_ || $_ !~ /.htm/;

## Abrimos la pagina (si podemos):
if( open( PAGINA, "$directorio"."$_" ) )
{
## Cargamos toda la pagina en una matriz
## y cerramos el archivo:
my @pagina = <PAGINA>;
close( PAGINA );

## Convertimos la matriz @pagina en una
## variable sin saltos de linea:
## (requerido para analizarlas)
my $pagina = join (" ", @pagina);
$pagina =~ s/\n/ /g;

## Solo analizamos la pagina si encontramos
## los delimitadores <!$> ... <!/$>
if( $pagina =~ /<\!\$>(.*)<\!\/\$>/ )
{
## Copiamos en $bloque el texto contenido
## entre los delimitadores:
my $bloque = $1;

## ¿Se encuentran los topicos buscados en
## el bloque de la pagina?
if( $bloque =~ /$topicos/gi )
{
$coincidencias++;

## Tomamos el Titulo de la pagina, o en
## su defecto le asignamos un nombre general:
if ($pagina =~ /<title>(.*)<\/title>/i)
{ $titulo = $1; }
else { $titulo = "Pagina sin nombre"; }

## Damos salida al resultado en HTML con el
## Titulo y Direccion Web de la pagina:
print "<li><a href=\"$host/$_\">";
print "$titulo</a></li><BR>";
}
}
}
}

close (DIR);

print '</ol>';

print "<BR>Paginas encontradas: <B>$coincidencias</B>";



Si esta informacion te ha sido de utilidad ayudanos pinchando un banner, gracias

Colaboraciones: Mandanos tus codigos, manuales ,apuntes o codigos para publicarlos Mandanos tu script
 
Untitled Document
en esta seccion
Codigo de JavaScript
javascripts
Codigo de ASP
todo en asp
Codigo de PHP
todo en php
Codigo de VBasic
visual basic
Codigo de Perl
codigo en php
Codigo de VFox
codigo en php
Codigo de mySQL
codigo en php
Codigo de Oracle
codigo en php
Tips&Tricks
codigo en php
 
   

 

 

 

links programacion
Programacion:recursosIprogramacionITrucosTecnicosIservicios gratisITowns 2.0IcursosI pueblos españa 2.0
noticias:SaludIcineIMotorIMovilesITechIMACINegociosIprog.net
Pueblos de: Andalucia-Aragon-Asturias-Baleares-Canarias-Cantabria-Castilla la mancha-Castilla Leon-extremadura-Galicia-la Rioja-Madrid-Murcia-Pais Vasco -
manuales Sugiere un manual para esta seccion
who's online
Linkanos
www.programatium.com© 1999 - web esta optimizada para Microsoft explorer 6.0
tutoriales
stats