Desarrollando un Buscador en PHP + VBasic
Diciembre 11, 2007
Gastando el Tiempo, he estado haciendo un “SPIDER” en VBasic + PHPÂ y he aqui algunas de las caracteriticas basicas:
- Maneja una “humilde” base de datos en access 97 (modo local)
- Base de Datos mySQl en el servidor
- Escanea la red 24 horas en busca de Contenido
- Parsea RSS - XML leyendo el DOM del documento
- Ingresa Nuevos Vinculos y Fuentes RSSÂ a Access
- Sube las nuevas paginas al servidor Mediante POST
- Implementa un servicio de Difusion de Noticias por TrackBacs a los Blogs Indexados.
- Luego Publica las Noticias a algunos Blogs por medio del email (blogger)
Esta es una Fotico del “Poderoso Spider”
![]()

La Lectura de los RSS se hace a travez del Objeto IXML que viene con VBasic6 (Todavia no unso NET)
On Error Resume Next
   Dim IXMLDOMNode As IXMLDOMNode
   Set DOMDocument = New DOMDocument
  Â
   ‘Carga el archivo xml
   Flag = False
   Barra1.Value = 0
   DOMDocument.abort
   CargaX = DOMDocument.Load(ArchivoXml)
Acto seguido el Archivo es leido y luego se le extraen todos Vinculos a Noticias y Articulos Publicados por Periodicos o Blogs.
 La funcion que “analiza” es recursiva y analiza cada uno de los elementos del RSS y es mas menos asi:
Private Sub Romper(oNode As MSXML2.IXMLDOMNode)
On Error Resume Next
   Dim IXMLDOMNode As IXMLDOMNode, Node As Node, Nodo As Node
  Â
   If (UCase(oNode.baseName) = “ITEM”) Or (UCase(oNode.baseName) = “ENTRY”) Then
       Barra2.Value = Barra2.Value + 1
       UnaPagina oNode, Titulo, Descripcion, Link, Data
       Call MeterBD(Titulo, Descripcion, Link, Data)
   Else
       If oNode.childNodes.length > 0 Then
           For Each IXMLDOMNode In oNode.childNodes
               Titulo = “”: Descripcion = “”: Link = “”: Data = “”
               Call Romper(IXMLDOMNode)
               DoEvents
           Next
       End If
   End If
End Sub
Una vez analizado el documento RSS ….
 ( un documento RSS es un Archivo que contiene Vinculos e Informacion de Noticias y se actualiza Periodicamente y casi tooodos los periodicos del mundo poseen uno, tambien lo poseen los Blogs, Paginas hechas con Joomla, Nuke, etc, etc )
Son extraidas las noticias (usualmente 10 - 15 por cada RSSÂ )Â y estas son enviadas al servidor para que puedan ser usadas como Resultados de Busquedas (pienso quitarle el trabajo a google), En el servidor hay un PHP que espera por esos datos y los ingresa a la mySQL BD.
Los Datos son enviados con POST directamente desde el “SPIDER”
‘Parámetros en formato URLEncode
    params = “t=” & Titulo & “&p=” & Descripcion & “&d=” & Link & “&dt=” & Data
    ‘Metodo a usar, url, y true en caso de manejar la respuesta en modo asÃncrono
    DomDoc.open “POST”, UrlStr, False
    ‘encabezados
    DomDoc.setRequestHeader “Content-type”, “application/x-www-form-urlencoded”
    DomDoc.setRequestHeader “Content-length”, Len(params)
    DomDoc.setRequestHeader “Connection”, “close”
    DomDoc.send params
    ‘La respuesta, en caso de existir, está en responseBody.
   ‘También puedes especificar responseXml si tu aplicación devolviese XML
    strHtml = StrConv(DomDoc.responseBody, vbUnicode)
Lo mejor de usar el metodo de envio por POST es que se puede enviar gran cantidad de datos y a’emas estos pueden contener caracteres “raros” (%20…etcetera)
 Luego el PHP los recibe y van pa dentro de la (1 TABLA) de mySQL
—————————————————————————————
Hasta aqui la parte basica del Spider, ahora es turno de un poco de “difusion” o “publicidad”, es hora de enviar PINGS y TRACKBAKS, para ello he usado la clase trackback_cls.php la cual es de codigo libre y abierto GNU. Esta recibe llamados por POST. Los parametros son 3:
URL Blog a Pingear
URL Puerta Track.
Mensaje.
Y acto seguido en el Blog que se ha indexado en la base de datos aparece (casi siempre) como por arte de Magia un Comentario, diciendole que su URL ha sido indexada y que X Blogs son similares a el (algunos llaman Spam a ese metodo)
Pero como dijo el Español “lo Mejor es lo mejor” se usan ciertos modos “ortodoxos” de publicidad: Lease “invitaciones por Correo”, Blogs Publicitarios (Blogger es el mejor, por aquello de recibir articulos por email), Toolbars, Gadgets para la Toolbar de Google, Open serach:
Analizando lo anterior seria asi:
GADGET: Un gadget es un “añadido” que se incluye dentro ToolBars de Google y MSN y ese añadido puede ser un Boton, asi que se diseño un gadget para promocionar el sitio que mostraria los resultados de la Busqueda. He aca una fotico del gadget en funcionamiento:
![]()
![]()

LOS EMAILS: Bueno aca se hizo algo un poco mas elaborado, pues no basta con enviar 5000 correos al dia, estaba cansado que Gmail y Hotmail no dejasen cargar las imagenes para ello se tomo una imagen 64X64 pixeles y se convirtio a una <tabla> de 64 Rows X 64 Cols y asi ya no hay foto. y por lo tanto si se puede visualizar enlos correos.
…… continuara..
Entry Filed under: Posicionamiento Google Yahoo SEO, Tutoriales, unad, uptc. Etiquetas: google, spider, crawler, dom, vbasic6, visual basic.
3 Comments Add your own
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed
1.
kesussito | Diciembre 14, 2007 at 1:29 pm
Hola como estas espero que bien mira esta shido tu buscador yo tambien diseño paguinas web bueno eso digo yo, Yo uso Google Adsense y pues me gusta tu web pero mas me gusta como tienes los blogs de wordpress yo e estado buscando que me diseñe algo asi por que yo no se como se hace quiero algo asi como wpfind.com lifind.com no se si con tigo puedo tratar el diseño
2.
kesussito | Diciembre 14, 2007 at 1:30 pm
Hola como estas espero que bien mira esta shido tu buscador yo tambien diseño paguinas web bueno eso digo yo, Yo uso Google Adsense y pues me gusta tu web pero mas me gusta como tienes los blogs de wordpress yo e estado buscando que me diseñe algo asi por que yo no se como se hace quiero algo asi como wpfind.com lifind.com no se si con tigo puedo tratar el diseño mi correo electronico es jmha1914@yahoo.com.mx
3.
md rafique | Enero 10, 2008 at 6:39 am
sir i m new in vb so plz tell me what will be best for my vb programing plz guide me