prsites: obtiene un listado de las páginas de tu sitio con su respectivo PR

¿Eres un webmaster en alguna de las siguientes situaciones?

Entonces, este programa puede serte muy útil.

prsitios es un script en Bash escrito para usar en sistemas GNU/Linux que te permitirá conocer toda esta información con una simple instrucción en línea de comandos.

prsitios ha sido escrito por Ismael Fanlo (ifanlo@superalumnos.net ), es de dominio público y hace uso de diferentes componentes:

El funcionamiento del script es bien sencillo:

Dadas mis limitaciones como programador, estoy seguro de que otros pueden mejorar su codificación o funcionalidades.

Por ejemplo, la primera mejora que se me ocurre es modificarlo para que acepte una lista de dominios, no tan sólo uno como hasta ahora.  Otra mejora, dada la limitación de los 1000 resultados que ofrece el comando site: de Google, será leer las URLs desde el archivo sitemap del sitio.

Aunque no estás obligado, dado el dominio público con que se publica prsites, si efectúas modificaciones o mejoras te agradeceré me las envíes a ifanlo@superalumnos.net

REQUISITOS

En primer lugar, necesitas tener el navegador Lynx instalado en tu PC.  Puedes comprobarlo con la siguiente instrucción:

    $ lynx --version

Que yo sepa, Lynx está incluído en todas las distribuciones GNU/Linux, así que si no lo tienes instalado no tienes más que utilizar los repositorios de tu distribución para localizarlo e instalarlo.

En distribuciones basadas en Debian (Ubuntu, etc...) para instalarlo bastará con ejecutar como root:

    # apt-get install lynx

o, en Ubuntu, como usuario:

    $ sudo apt-get install lynx

Información adicional la puedes encontrar en esta página de información sobre Lynx

prsitios también hace uso de page_rank.pl, el script escrito en Perl por John Walker y que está incluido en este mismo paquete.  

El software page_rank.pl puede usarse también como un programa CGI para obtener el PageRank de una URL desde un formulario web.  Las instrucciones las encontraras en el archivo index.html que se acompaña.

Estas mismas instrucciones son las que encontrarás disponibles en el sitio original de page_rank.pl

INSTALACIÓN

Para instalar prsitios basta con descomprimir el archivo que lo contiene,

    $ tar xvf prsitios.tar.gz 

y se creará un directorio de nombre prsitios que contiene el script y sus auxiliares, incluido un LEERME_prsitios con toda la ayuda e instrucciones de uso

cámbiate a ese directorio,

    $ cd prsitios

asegúrate de que el script prsitios tiene permisos de ejecución,

    $ cd ls -l prsitios

debe mostrar algo parecido a

    -rwxr-xr-x 1 usuario usuario 5372 2008-08-11 07:20 prsitios

si no es así, puedes asignarle permisos de ejecución,

    $ chmod +x prsitios

y ya no tienes más que ejecutar el programa,

    $ ./prsitios dominio.com

para que prsitios entre en acción y te muestre un listado de los 100 primeros resultados de site:dominio.com con su respectivo PageRank.

Sigue los enlaces al pie para conocer más sobre prsites y sobre cómo puedes disfrutar de sus beneficios aunque seas usuario de Windows...

... todavía!   Gui?o

 

AdjuntoTamaño
prsitios_1.3.tar.gz23.05 KB

prsites: sintaxis y ejemplos de uso

He intentado dotar de la mayor flexibilidad a prsitios para que sea útil para diferentes usos.

Su sintaxis de uso la puedes ver escribiendo:

    $ ./prsitios -h

que te mostrará esta salida por pantalla:

MODO DE EMPLEO:
  prsitios [OPCIONES] URL

Obtiene las páginas de un dominio URL y sus subdominios indexadas por
Google mostrando su PR.

Requiere tener instalado el navegador de texto lynx.

OPCIONES:
  -d CHAR    carácter delimitador (por defecto coma ',')
  -f FILE    guarda el resultado en archivo FILE
  -h         muestra esta ayuda
  -i         obtiene exclusivamente el listado de páginas NO indexadas (requiere -m)
  -l NUM     NUMero de resultados a obtener de Google (por defecto 100, máximo 1000)
  -m SITEMAP lee las URLs de las páginas desde un sitemap en vez del comando site:
  -n PR      sólo muestra resultados con pagerank PR o superior
  -o         muestra los resultados ordenados por PR
  -s         omite subdominios
  -v         salida 'verbosa'
  -V         muestra la versión

El argumento URL no precisa que escribas el 'http://' delante, así que las dos siguientes instrucciones funcionarán exactamente igual:

    $ ./prsitios http://dominio.com
    $ ./prsitios dominio.com

Las opciones se pueden combinar de diferentes maneras, separando los argumentos opcionales con espacios o no, o juntando varias opciones seguidas detrás del mismo guión (-); si se juntan varias opciones, sólo la última puede tener argumento opcional, debiendo volver a escribir el guión (-) para posteriores opciones; es más difícil explicar que mostrar, así que lo entenderás mejor en los siguientes ejemplos, cuyas tres instrucciones son equivalentes:

    $ ./prsitios -o -s -v -d ";" -f /home/usuario/prsitios.txt dominio.com
    $ ./prsitios -o -s -v -d";" -f/home/usuario/prsitios.txt dominio.com
    $ ./prsitios -osvd ";" -f/home/usuario/prsitios.txt dominio.com

A continuación, va ampliada la descripción de las diferentes opciones

-d CHAR

La salida del programa muestra los resultados separando la URL del PageRank con una coma.  Puedes establecer otro delimitador escribiéndolo en esta opción.  No es imprescindible, pero en muchos casos será aconsejable escribirlo entre comillas para que el intérprete de comandos lo entienda correctamente y no lo procese como un metacarácter.

Ejemplo: para que el resultado muestre como delimitador un punto y coma:

    $ ./prsitios -d ";" dominio.com

Quizás pienses en usar una marca de tabulación "\t" como separador, pero eso no es bien interpretado por la orden sort que efectúa la ordenación, así que no podrás usarlo.

-f FILE

Los resultados se muestran por la salida estándard (la pantalla); puedes redirigirla a un archivo con el habitual mecanismo de redirección o utilizando esta opción.  Esto será especialmente útil en las salidas verbosas.  Como ejemplo, las instrucciones siguientes son equivalentes:

    $ ./prsitios -v -f /home/usuario/prsitios.txt dominio.com
    $ ./prsitios -v dominio.com > /home/usuario/prsitios.txt

 -h

Como vimos al principio, esta opción simplemente te mostrará la ayuda.  También se muestra la ayuda si hay alguna opción ilegal o algún error de sintaxis como no pasar el argumento correspondiente a la URL del dominio.   

-i

Esta opción es la indicada si deseas conocer las páginas de tu dominio que no están indexadas por Google.

Exige que se le pase un archivo de sitemap de donde leer las páginas de tu sitio, por tanto deberás usar la opción -m.

Por otra parte es incompatible con la opción -n de la cual prescindirá olímpicamente si la has introducido. 

Un ejemplo de uso, para conocer las páginas de dominio.com que no están indexadas por google, almacenándolas en el archivo no_indexadas.csv:

    $ ./prsitios -i -f no_indexadas.csv dominio.com

-l NUM

Por defecto, prsitios obtiene tan sólo los primeros 100 resultados, con esta opción puedes determinar cuantos deseas obtener, con el límite de los 1000 resultados que te ofrece el comando site: de Google.
 
Atención: este valor es el número de resultados que devolverá site:dominio.com; si filtras los resultados por PR (opción -n) o sin subdominios (opción -s) obtendrás un número menor de resultados (o ninguno, incluso).

Ejemplos:

$ ./prsitios -l 5 dominio.com (te mostrará los primeros cinco resultados)
$ ./prsitios -l 1000 dominio.com (te mostrará los primeros mil resultados, aunque en este caso es posible que desees una salida verbosa, opción -v)    

-m SITEMAP

Mediante esta opción las páginas a chequear no se obtendrán del comando site: de Google, sino del archivo sitemap cuyo nombre se pasa como argumento opcional.

Si se pasa la cadena vacía -m "" se asumirá por omisión que el nombre del sitemap es sitemap.xml.  En caso de tener otro nombre, especificarlo. 

Por ejemplo, para obtener el PageRank de las páginas de dominio.com contenidas en el archivo de sitemap denominado sitemap.xml:

$ ./prsitios -m "" dominio.com

Lo mismo, pero en este caso el sitemap se denomina gsitemap

$ ./prsitios -m gsitemap dominio.com

-n PR

Con esta opción podrás filtrar los resultados para que muestre sólo los que tengan un PageRank igual o superior al PR pasado como argumento de la opción.
    
Por ejemplo, para obtener las páginas con un PageRank igual o superior a 5:

    $ ./prsitios -n5 dominio.com

 -o

De forma predeterminada, prsitios te mostrará los resultados ordenados por URL; activando esta opción los mismos se mostrarán ordenados por PageRank de forma descendente.

-s

Los resultados incluyen, tal como lo hace el site:dominio.com de Google, los subdominios que puedan estar indexados.  Si quieres obtener los resultados excluyendo los subdominios, usa esta opción.
    
Atención: activar esta opción tampoco te mostrará las URLs de tipo www.dominio.com.  Por ejemplo la siguiente instrucción no te mostrará ningún resultado (Google tiene todas sus páginas con la estructura subdominio.dominio.com):

    $ ./prsitios -s google.com

-v

Salida verbosa.  El script trabaja y devuelve los resultados silenciosamente, pero si estás rastreando un sitio en profundidad y esperas obtener cinco mil resultados, posiblemente te impaciente (va por tí, Marcelo Gui?o) no ver nada en tu pantalla mientras el script trabaja.  Activando esta opción irás viendo por pantalla el trabajo que realiza el script.  Esto se muestra por la salida de error, así que, aunque redirijas la salida estándard a un fichero, los mensajes aparecerán por pantalla y no se mezclarán con los resultados.  Un par de ejemplos equivalentes (guardar en el archivo /home/usuario/prsitios.txt los mil primeros resultados para dominio.com viendo el progreso de trabajo):

    $ ./prsitios -l 1000 -v -f /home/usuario/prsitios.txt dominio.com
    $ ./prsitios -l 1000 -v dominio.com > /home/usuario/prsitios.txt

-V

Una opción trivial, muestra la versión del programa (por si me decidiese a ampliarlo)

Para finalizar un ejemplo más, éste real:

Obtener los 1000 primeros resultados de yahoo.com, de los cuales mostrar sólo los que tengan PageRank igual o superior a 7, ordenados por PageRank, mostrando por pantalla el progreso del trabajo y almacenando los resultados en el archivo resultados.txt:

$ ./prsitios -l 1000 -n 7 -o -v -f resultados.txt yahoo.com

Descarga de prsitios

Soy usuario de Windows, ¿cómo puedo usar éste y otros programas escritos para GNU/Linux?

Bueno, bueno, amigo... ¿así que todavía estás en el "lado oscuro" de la fuerza? Burla

Tengo buenas noticias para ti.  Comprendo que te dé pavor la posibilidad de instalarte alguna distribución de GNU/Linux en una partición de tu PC, ¿quién no ha oído de los riesgos de manipular la tabla de particiones?

Pero tienes diferentes opciones, todas de bajo riesgo para tus datos y esos programas pirateados que tienes en tu sistema (in)operativo:

Un PC virtual en tu Windows.

Si andas bien provisto de memoria RAM, puedes crearte una máquina virtual donde instalar el sistema que desees.  Hay diferentes programas que te lo permitirán, pero te recomiendo VirtualBox por las grandes satisfacciones que me ha proporcionado.  En mi caso, al revés de lo que tu deseas, en mi Ubuntu Linux tengo un PC virtual que corre un Windows XP, pues lo necesito para preparar mis cursos de Access.

Virtual Box es un programa libre y gratuito, y lo puedes obtener en:
http://www.virtualbox.org/

Aquí te enlazo algunos tutoriales en español sobre como puedes instalarlo:
http://software.adslzone.net/manuales-software-2/tutorial-de-virtualbox/
http://fabianf.wordpress.com/2007/01/26/tutorial-virtualbox-132-ose-2/
http://www.llermania.com/listas/TutorialVirtualBox.htm

Un GNU/Linux que se instala dentro de Windows.

Esta opción no la he probado, pero hay un par de proyectos que te permiten instalar Ubuntu Linux dentro de Windows, como una aplicación más.

Uno de ellos se denomina Wubi y lo puedes descargar desde:
http://wubi-installer.org/

Un buen tutorial en español sobre Wubi:
http://www.mouse.cl/2007/productos/07/24/index.asp

El otro proyecto se llama andLinux y su página principal es:
http://www.andlinux.org/

Un tutorial en español sobre andLinux:
http://tuxecutor.programasfull.com/instalar-ubuntu-linux-dentro-de-windows-como-una-aplicacion-andlinux.html

Emular GNU/Linux bajo Windows

La tercera opción que te propongo se trata de Cygwin, una colección de herramientas desarrollada para proporcionar un comportamiento similar a los sistemas Unix en Windows. Lo probé hace años y no encontré muy intuitiva su instalación (también mi anglo-analfabetismo me dificultó la tarea), pero me permitió disfrutar de los comandos de Bash en una ventana de Windows.

La web principal del proyecto:
http://www.cygwin.com/

Interesante información en español sobre Cygwin:
http://es.wikipedia.org/wiki/Cygwin
http://www.vicente-navarro.com/blog/2007/07/18/trabajando-con-cygwin/

Con cualquiera de estas tres opciones, deberías ser capaz de poder usar y disfrutar de prsitios y otros programas desarrollados para GNU/Linux.

Descarga de prsitios