🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #774

Re: base de datos con php y mysql

#774
From: Oscar Garcia
Date: Wed, 27 Sep 2006 07:46
116 lines
6097 bytes
El Wed, 27 Sep 2006 02:52:58 +0200, jlan <jlan@gmail.com> escribi�:
>-----BEGIN PGP SIGNED MESSAGE-----
>Hash: SHA1
>> Al ser un sitio est�tico la cosa se vuelve muy sencilla.
>
>Supongo que te refieres a que se vuelve sencilla siempre que queramos
>hacer busquedas google tipo "site:miweb" y que devuelva resultados por
>relevancia.

Olvida el site:miweb porque se supone que el buscador s�lo tendr� el
contenido de TU web, por lo tanto las cosas se tornan sencillas al no
tener que contruir un spider (un programita que vaya siguiendo los
enlaces de la web).

Si quieres ver un algoritmo muy sencillo de un spider para un sitio
web local (cuando se usan p�ginas din�micas PHP ya no vale con leer
directamente el archivo del disco duro), te dejo un peque�o enlace a
un post antiguo que respond�:
http://groups.google.es/group/es.comp.lenguajes.php/browse_thread/thread/7647a82d63a503f7/f9d27d49a108b6ff

>> Pasos para la creaci�n de la base de datos:
>>
>> 1.- Funci�n recursiva que escanee los documentos html (o htm para los
>> fieles seguidores g�indouseros) de un directorio y sus subdirectorios.
>> 2.- Leer el documento HTML y eliminarle las etiquetas HTML.
>> 3.- A�adir el documento a una base de datos MySQL.
>
>Esto lo veo correcto, pero por ejemplo imagina que tengo un monton de
>paginas estaticas de diferentes directores de peliculas, y quiero que
>cuando haga una busqueda de "kevin smith" me salgan los resultados de
>las peliculas en las que a sido director (no importa si fue actor o
>guionista tambien), pero no me interesan el resto de resultados por que
>habra otros resultados donde aparezca el nombre kevin smith en el cuerpo
>de la pagina por ejemplo pero no era director de esa pelicula.

Entonces ya estamos pidiendo peras al olmo :)

Lo que t� quieres es crear una base de datos en la que haya dos tablas
relacionadas. En una se almacenar� el nombre de los directores y en la
otra se almacenar�n todas las p�ginas web donde aparece dicho director
como tal.

Un ejemplo ser�a:

tabla "directores":
  id - int autoincrementado
  director - char �ndice

tabla "directores_web":
  id - int autoincrementado
  iddirector - int �ndice
  url - char

De esta forma incluso podr�as (en caso de un limitado n�mero de
directores) hacer un listado de todos los directores que tengas o que
el visitante elija uno de un men� desplegable (select/option).

>>>El tema es que no se como empezar, por ejemplo, no se si me valdran las
>>>p�ginas estaticas para algo, o tendre que cogerme unas tablas y
>>>llenarlas yo con los datos y luego importarlas con mysql.
>>
>> Olv�a p�ginas est�ticas para un buscador. Poder, se puede, pero te
>> complicar�as demasiado la vida.
>
>A ver si puedo explicarte la idea que he cogido dandole vueltas al tema:
>
>- - las paginas del sitio son totalmente estaticas, luego los resultados
>que devuelva el buscador seran enlaces a paginas web estaticas con los
>resultados.

Por eso no hay problema, pero el buscador buscar� por palabras. De
modo que si la web tiene las palabras del director sueltas (por
ejemplo Tim Burton est� en: Tim Seagal es un jugador del equipo de los
Burton Celtics que ha sido abducido por una especie alien�gena). De
todas formas el buscador te dar� una serie de resultados ordenados de
mayor a menor probabilidad (orden de aparici�n de palabras igual que
el buscado, cercan�a de las palabras buscadas, etc), pero te seguir�n
apareciendo "falsos positivos" como en cualquier otro buscador (como
google, por ejemplo).

Bueno, siempre puedes usar el entrecomillado al igual que en google:
"Tim Burton" buscar� ambas palabras juntas.

>- - la gran duda que tengo es:
>	* si se puede parsear/indexar y sacar provecho de esas paginas estaticas
>	del site para que el buscador devuelva unos resultados satisfactorios

S�, te he explicado brevemente c�mo hacerlo.

Una funci�n recursiva que entre en los directorios del sitio web, lea
todos los archivos html o htm y le elimine las etiquetas HTML para
despu�s meter el resultado en un registro de la base de datos.

>	* o me tocara prefabricar unas tablas a mano introducciendo los datos
>	como por ejemplo: el 	nombre del director "kevin smith" y los enlaces
>	a las paginas estaticas donde kevin smith sea el director.

Hombre, siempre ser� lo "m�s exacto".

>Igual es que estoy intentando crear un buscador demasiado inteligente,
>algo como "el buscador de turing" que busque como si fuera un humano
>:-S, de todas formas asi puedo delimitar mas lo que es capaz de hacer un
>buscador con las paginas estaticas.

Puedes orientar tu buscador como lo desees.

Incluso puedes usarlo parseando los keywords de tu web. Eso s�,
deber�s tener trabajo extra porque deber�s rellenar los keywords de
todas las p�ginas est�ticas que ya tengas hechas.

Un saludo.

-- 
�scar Javier Garc�a Baudet
LinaresDigital
http://redstar.linaresdigital.com/
Technical Details
Message-ID: <iv9kh2h4ik6dl26bupplr41o2cp6kncbub@4ax.com>
Path: arc1-ca.pugleaf.net!g2news2.google.com!news2.google.com!news.germany.com!news.ecp.fr!appleseed.escomposlinux.org!cernicalo.escomposlinux.org!escomposlinux.org!not-for-mail
References: <bn9iu3-ti3.ln1@aragorn.comarca> <rf2fh2d7h336amt2n472bn768j7vilpg5c@4ax.com> <akuou3-ej.ln1@aragorn.comarca>

Show Full Headers
Complete Article Headers
X-Google-Thread: f86c8,c8d0f141924247d5
X-Google-Attributes: gidf86c8,public
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news2.google.com!news2.google.com!news.germany.com!news.ecp.fr!appleseed.escomposlinux.org!cernicalo.escomposlinux.org!escomposlinux.org!not-for-mail
From: Oscar Garcia <redstarQUITARSPAM23@terra.es>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: base de datos con php y mysql
Date: Wed, 27 Sep 2006 09:46:00 +0200
Organization: Ecolnet
Lines: 116
Message-ID: <iv9kh2h4ik6dl26bupplr41o2cp6kncbub@4ax.com>
References: <bn9iu3-ti3.ln1@aragorn.comarca> <rf2fh2d7h336amt2n472bn768j7vilpg5c@4ax.com> <akuou3-ej.ln1@aragorn.comarca>
NNTP-Posting-Host: 87.217.170.104
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: cormoran.emeteo.local 1159343149 20753 87.217.170.104 (27 Sep 2006 07:45:49 GMT)
X-Complaints-To: emeteo@escomposlinux.org
NNTP-Posting-Date: Wed, 27 Sep 2006 07:45:49 +0000 (UTC)
X-Newsreader: Forte Free Agent 2.0/32.652