miércoles, 6 de mayo de 2009

Se buscan Bloggers

Hace tiempo publiqué una entrada en la que os hablaba de un buscador de perfiles de Blogger que había creado, así como mencionaba la enorme posibilidad de mejorarlo, puesto que tenía muchas taras.


Ese buscador, escrito en código HTML bajo unos conocimientos ínfimos del tema y un virtuoso manejo de "copia y pega" trozos de código :p, lo que hacía era utilizar el buscador de Google con algunas limitaciones y cierta estructura para enfocarlo a la búsqueda de algunos campos de los perfiles de Blogger.

Ahora he querido reformularlo, y aunque tampoco considero que el resultado sea excesivamente satisfactorio (el buscador del que antes os hablaba seguirá en funcionamiento en la página de siempre, puesto que es capaz de dar resultados más precisos si se usa bien), os voy a dejar aquí un buscador para Linux (está escrito en shell) para hacer búsquedas temáticas por etiquetas. Es decir, este programilla (por llamarlo de alguna manera) no sirve para encontrar a tu antigua novia en el caso de que ésta tuviera un blog de Blogger, sino que sirve para buscar, por ejemplo, a todas las personas que vivan en cierto lugar, se dediquen a cierta actividad, o que tengan unos determinados gustos (dentro de la base de datos de Blogger).


Esta versión se basa en la estructura natural que tiene Blogger de hacer estas búsquedas, y es con estas direcciones url:

  • Sector: http://www.blogger.com/profile-find.g?t=j&ind=sector
  • Profesión: http://www.blogger.com/profile-find.g?t=o&q=profesion
  • Ubicación: http://www.blogger.com/profile-find.g?t=l&loc0=PS&loc1=provincia&loc2=ciudad
  • Intereses: http://www.blogger.com/profile-find.g?t=i&q=interes
  • Películas: http://www.blogger.com/profile-find.g?t=m&q=peli
  • Música: http://www.blogger.com/profile-find.g?t=s&q=musica
  • Libros: http://www.blogger.com/profile-find.g?t=b&q=libro

Las palabras en negrita corresponden a los términos de búsqueda. Una cosa muy interesante sería combinarlas, pero yo no he conseguido hacerlo (por ejemplo, buscar a todas las personas de Madrid que sean Estudiantes).

Hay dos campos especiales en este programa: El de el País, y el del Sector. El campo asociado al país ha de ser rellenado con el código correspondiente de dos letras, que si no me equivoco, es el que podéis encontrar aquí. Para el caso del sector es más complicado: requiere unas entradas concretas en inglés y en mayúsculas. Algunas de las que he averiguado yo son las siguientes: STUDENT, CONSULTING, HUMAN_RESOURCES, NON_PROFIT, LAW, PUBLISHING, AGRICULTURE, ARCHITECTURE, ARTS, BANKING, BIOTECH, SCIENCE, EDUCATION, ENGINEERING, INTERNET, MARKETING, MILITARY, PUBLISHING y TECHNOLOGY.

El programa incluye entorno gráfico realizado en glade3 y ejecutado por gtkdialog (es necesario, por tanto, tener éste último instalado a la hora de ejecutar el script). En él se alerta del carácter especial que tiene el campo "Sector".


Os dejo aquí el sencillo script que he realizado:


#!/bin/bash
#
# Script realizado por Astaroth (O.R.G). para buscar perfiles de Blogger
#desde tu propio ordenador según distintas áreas temáticas.
#
# http://astarothsworld.blogspot.com/
#
# Iniciando interfaz gráfica:
var=`gtkdialog -g if/interfaz.glade -p window1`
# Definición de variables:
function def {
    echo $var | sed 's/ /azzzzza/g' |grep -o $1\=\"[[:alnum:]]*\" | sed 's/\"//g' | sed 's/'$1'\=//g' | sed 's/azzzzza/+/g'

}
# Conmutadores (selección del área temática):
caso=0
Sector=`def Sector`
if ( $Sector = "true" ) ; then
    caso=1; else
      Profesion=`def Profesion` if ( $Profesion = "true" ) ; then caso=2; else
        Intereses=`def Intereses` if ( $Intereses = "true" ) ; then caso=3; else
          Ubicacion=`def Ubicacion` if ( $Ubicacion = "true" ) ; then caso=4; else
            Peliculas=`def Peliculas` if ( $Peliculas = "true" ) ; then caso=5; else
              Musica=`def Musica` if ( $Musica = "true" ) ; then caso=6; else
                Libros=`def Libros` if ( $Libros = "true" ) ; then caso=7;
              fi
            fi
          fi
        fi
      fi
    fi

fi
# Campos
case $caso in
    1) t=j Sectex=`def Sectex` cola="ind=$Sectex" ;; 2) t=o Proftex=`def Proftex` cola="q=$Proftex" ;; 3) t=i Intex=`def Intex` cola="q=$Intex" ;; 4) t=l Paistex=`def Paistex` Provitex=`def Provitex` Ciudadtex=`def Ciudadtex` cola="loc0=$Paistex&loc1=$Provitex&loc2=$Ciudadtex" ;; 5) t=m Pelitex=`def Pelitex` cola="q=$Pelitex" ;; 6) t=s Musitex=`def Musitex` cola="q=$Musitex" ;; 7) t=b Librotex=`def Librotex` cola="q=$Librotex" ;; *) ;;

esac
# Salida
firefox http://www.blogger.com/profile-find.g\?t\=$t\&$cola

La salida del programa (como puede verse en la última línea del mismo) es la apertura de una página web por firefox (también es necesario tener éste instalado) con los resultados de la búsqueda.

Para que el programa funcione necesitaréis también la parte gráfica. Ambas cosas las podéis descargar de mi recientemente estrenado hosting dedicado al software que realizo:


1 comentario:

Querido astarothista!,

Si te ha gustado la entrada y quieres dejar constancia de ello, tienes alguna sugerencia para completarla o corregirla, quieres mostrar tu opinión respecto a algo de lo que se haya hablado en esta entrada (con respeto) o simplemente quieres dejarme un mensaje a mi o a la comunidad, no dudes en comentar ;)!

Recuerda que también estamos en Facebook y en Google+.