🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: es.comp.os.linux.programacion
5 messages
5 total messages Started by jlan Sun, 24 Sep 2006 12:19
base de datos con php y mysql
#735
Author: jlan
Date: Sun, 24 Sep 2006 12:19
43 lines
2582 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Bueno, ya no me acuerdo cuanto hace que no posteo en las news (solia
rondar las news con el nick Neuman a google.groups me remito,
pero despues de tanta web 2.0, todo blogs ahora casi no me acuerdo 
de como se usa mi slrn :-)

Pues un amigo me ha encargado una faenilla, y como soy el amigo
informatico/linuxero pues tengo que saber hacerlo todo :-S , pero como
es un amiguete no lo considero pringao-work asi pues alla vamos.

El tema es que coja su web, toda estatica y que cree un buscador que
indexe automaticamente (si es posible, eso no lo se aun), el site y
cuando busques una palabra o varias te devuelva resultados por tematica,
por ejemplo: director de cine, peliculas, etc

He visto el buscador que usa la imdb.com y me ha gustado bastante y
queria hacer algo similar, mas simple evidentemente.

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.

A ver si me dais pistas de como ir empezando que me he quedado un poco
atascado (seguramente por ir pensando en el tejado de la casa cuando aun
no he puesto siquiera los cimientos)

Enga un saludo para la gente de ecol.

- -- 

Jlan <joseluisalcazar AT gmail DOT com> 	GPG ID: 0x044E638B
fingerprint  34DA 5038 2DCC A55C C143  7382 4C68 847D 044E 638B
Linux registered user: #172297 GNU/Linux Debian

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFFFnfLTGiEfQROY4sRAsqSAJ9ccGHjooOqDPOAZ0Tr8gb7vX1ArwCdHbzt
Ki+red5PQmUn3RnI9Zgsa34=
=9wTy
-----END PGP SIGNATURE-----
Re: base de datos con php y mysql
#736
Author: arrase
Date: Mon, 25 Sep 2006 00:12
24 lines
2054 bytes
Yo soy de Python, C y C++ pero esto suena como un trabajo para PHP.

Yo haria algo del estilo parsear toda su web con algo tipo SGMLParser de 
python y meteria todo eso en una bdd como mysql, despues solo tienes que 
hacer consultas sobre la bdd desde PHP.

Tendras que tomar decisiones del tipo �cada cuanto se actuliza la bdd? y 
tener en cuanta que no te puedan colar mysql injection.

Quizas el trabajo mas tedioso sea el parseo de la web ya que ha de ser 
al mas adecuado al tipo de info que quieres meter en la bdd.
Eso puede ser tedioso de implemetar pero no dificil.

Saludos.


-- 
<arrase@gulcas.org><http://arrase.no-ip.org><www.gulcas.org>
      <Gnupg Keys: http://arrase.no-ip.org/pubkey.txt>

print "".join(map(lambda numChar:filter(lambda x:(x<"0") or \
(x>"9"),numChar),["0"+chr(104)+"0","1"+chr(111)+"1","2"+chr(108)+"2", \
"3"+chr(97)+"3","4"+chr(32)+"4","5"+chr(109)+"5","6"+chr(117)+"6", \
"7"+chr(110)+"7","8"+chr(100)+"8","9"+chr(111)+"9"]))
Re: base de datos con php y mysql
#738
Author: Oscar Garcia
Date: Mon, 25 Sep 2006 07:58
58 lines
3026 bytes
El Sun, 24 Sep 2006 14:19:23 +0200, jlan <jlan@gmail.com> escribi�:
>El tema es que coja su web, toda estatica y que cree un buscador que
>indexe automaticamente (si es posible, eso no lo se aun), el site y
>cuando busques una palabra o varias te devuelva resultados por tematica,
>por ejemplo: director de cine, peliculas, etc
>A ver si me dais pistas de como ir empezando que me he quedado un poco
>atascado (seguramente por ir pensando en el tejado de la casa cuando aun
>no he puesto siquiera los cimientos)

Al ser un sitio est�tico la cosa se vuelve muy sencilla.

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.

Pasos para realizar la b�squeda (la parte m�s sencilla):

4.- Hacer un formulario de b�squeda O:-)
5.- Hacer una petici�n SQL usando MATCH .. AGAINST.

Ahora te desgloso la bibliograf�a de inter�s:

1.-
http://es.php.net/opendir
http://es.php.net/readdir
http://es.php.net/is_dir
2.- 
http://es.php.net/file-get-contents
http://es.php.net/file
http://es.php.net/file
http://es.php.net/strip_tags
3.-
http://es.php.net/mysql
4.-
(cualquier tutorial de html es v�lido :)
5.-
http://dev.mysql.com/doc/refman/5.0/es/fulltext-search.html

Espero que te sea de ayuda.

>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.

>Enga un saludo para la gente de ecol.

Saludos.

-- 
�scar Javier Garc�a Baudet
LinaresDigital
http://redstar.linaresdigital.com/
Re: base de datos con php y mysql
#771
Author: jlan
Date: Wed, 27 Sep 2006 00:52
122 lines
5404 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

 Mon, 25 Sep 2006 09:58:29 +0200, Oscar Garcia dixit:

Animo y leetelo de un tiron oscar que me estas sirviendo de mucha ayuda
:-)

> 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.


> 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.


> Pasos para realizar la b�squeda (la parte m�s sencilla):
>
> 4.- Hacer un formulario de b�squeda O:-)
> 5.- Hacer una petici�n SQL usando MATCH .. AGAINST.

Esto creo que puedo pillarle el tranquillo facilmente, en un par de
noches "hackeando codigo en plan neo" puedo ajustarlo todo como me
interesa.

> Ahora te desgloso la bibliograf�a de inter�s:
>
> 1.-
> http://es.php.net/opendir
> http://es.php.net/readdir
> http://es.php.net/is_dir
> 2.- 
> http://es.php.net/file-get-contents
> http://es.php.net/file
> http://es.php.net/file
> http://es.php.net/strip_tags
> 3.-
> http://es.php.net/mysql
> 4.-
> (cualquier tutorial de html es v�lido :)
> 5.-
> http://dev.mysql.com/doc/refman/5.0/es/fulltext-search.html

Por suerte de html voy sobrado, creo empezar a tener idea de como montar
el tinglado, aunque necesito ponerme un poco en php y mysql.


> Espero que te sea de ayuda.

Uf, no sabes cuanto me sirve :-) por que he preguntado en varios lugares
pero como no soy habitual activo de las listas, nunca he participado
demasiado salvo en ecol news y de eso hace varios a�os,  soy mas bien
autodidacta lector pasivo, y me he quedao un poco atascao con el tema.:-)


>>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.

- - el buscador sera una caja dentro de las mismas paginas pero con codigo
pvp .

- - 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

	* 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.

	* si este ultimo punto no lo ves claro, por ejemplo ve a imdb.com y
	haz una busqueda en la caja de la izquierda de la pantalla, con por
	ejemplo "kevin smith" y te devolvera resultados donde es el director.



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.


Un saludo.


- -- 

Jlan <joseluisalcazar AT gmail DOT com> 	GPG ID: 0x044E638B
fingerprint  34DA 5038 2DCC A55C C143  7382 4C68 847D 044E 638B
Linux registered user: #172297 GNU/Linux Debian

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFFGctqTGiEfQROY4sRAiFvAJ4y4/cI4Gf63kMOJKwCA28V0LNBEwCfakbd
s/vBKSfe4cTNIoO5+i544is=
=uw/E
-----END PGP SIGNATURE-----
Re: base de datos con php y mysql
#774
Author: 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/
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads