Inicio de sesión

Quién está conectado

Actualmente hay 0 usuarios y 9 invitados en línea.

Sindicar

Distribuir contenido

Descargas

Materiales curso Power BI

Materiales para cursos de Power BI y similares (PowerQuery, PowerPivot, Microstrategy, etc.)

Validar direcciones de email en Excel con la UDF ESEMAIL()

Recientemente he estado colaborando con PUE - Proyecto Universidad Empresa en la organización de una base de datos para campañas de marketing a partir de fuentes dispersas en innumerables tablas de Excel, con datos copiados desde webs y directorios diversos.

Uno de los problemas con que me he encontrado son los abundantes errores de transcripción de direcciónes de email, con nombres de dominio mal formados, arrobas duplicadas, espacios traicioneros y cosas por el estilo.

Estuve buscando como crear una validación de datos, pero con las funciones de Excel salían expresiones muy retorcidas con abundantes funciones HALLAR() anidadas.

Entonces pensé en crear una macro con una UDF (función definida por el usuario) que al estilo de las funciones ESNUMERO(), ESTEXTO() o ESERROR() me devolviese un valor VERDADERO en caso de que el argumento pasado tenga una estructura sintáctica correcta para una dirección de email.

Encontré en la web una solución en base a expresiones regulares, peró pense que sería más didáctico desarrollar mi propia macro. Y aquí la tenéis: ESEMAIL().

Usando SQL "a tope" con OpenOffice y LibreOffice

Poniéndome al día en los foros de OpenOffice.org en español, me encuentro con un excelente tutorial de Eduardo Ponce, Usando SQL en Base de OOo, que nos muestra como crear y manejar una base de datos de OpenOffice mediante purito SQL, sin usar la interfaz gráfica para nada más que abrir el cuadro de diálogo que nos permitirá introducir las instrucciones SQL.

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:

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

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

¿Eres un webmaster en alguna de las siguientes situaciones?

  • ¿Deseas obtener un listado de todas tus páginas indexadas por Google?
  • ¿Deseas conocer tus páginas con determinado PageRank?
  • ¿Estás estudiando a tu competencia y quieres conocer el PR de sus páginas?
  • ¿O quizás deseas conocer tus páginas que NO están indexadas por Google?

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:

  • mediante el navegador Lynx efectua una búsqueda site:dominio.com en Google
    • dado que el número de resultados máximo devuelto por Google es de 100, se repite la búsqueda para páginas siguientes hasta obtener el número de resultados deseados, con el límite de 1.000 que es el máximo número de resultados que ofrece el comando site: de Google.
    • el script obtiene exclusivamente las URLs de las páginas indexadas, filtrando enlaces adicionales ("translate this page", etc).
    • asimismo, si no deseas obtener resultados de los subdominios, el script se encargará de filtrarlos.
  • alternativamente obtiene todas las páginas de un archivo sitemap del dominio.
  • el script carga las URLs obtenidas en cualquiera de los dos casos y realiza dos tareas
    • en primer lugar, comprueba si está indexada la página
    • seguidamente obtiene su PageRank, filtrando las de PR inferior al que determines opcionalmente.  Se ha introducido un factor de retardo para evitar que Google banee la IP por acceso automatizado a sus servicios.
  • finalmente, se mostrarán los resultados por pantalla o se almacenarán en el fichero determinado por ti.

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

Búscalo con Google

Comentarios recientes

Encuesta

¿Sobre qué programas esperas encontrar tutoriales y ejercicios en SuperAlumnos.net? :