PyMOTW: webbrowser

6 Agosto 2008

Traducción de PyMOTW: webbrowser el módulo webbrowser de la columna semanal de Doug Hellmann.


Comentarios

Usa el módulo webbrowser para mostrar páginas Web a tus usuarios.

Módulo: webbrowser
Propósito: Abrir páginas Web en un navegador.
Versión de Python: 2.1.3 y posterior

Descripción:

El módulo webbrowser incluye funciones para abrir URLs en aplicaciones de navegadores interactivos. El módulo incluye un registro de navegadores disponibles, en caso de que múltiples opciones estén disponibles en el sistema. También puede ser controlado con la variable de entorno BROWSER.

Ejemplo simple:

Para abrir una página en el navegador usa la función open().

import webbrowser

webbrowser.open('http://docs.python.org/lib/module-webbrowser.html')

El URL es abierto en una ventana y esa ventana es puesta en primer plano. La documentación dice que una ventana existente será re utilizada si es posible. En una Mac con Firefox, siempre se crea una ventana nueva.

Ventanas vs. pestañas:

Si quieres usar siempre una ventana nueva, usa open_new().

import webbrowser

webbrowser.open_new('http://docs.python.org/lib/module-webbrowser.html')

Si prefieres crear una pestaña nueva, usa open_new_tab() en su lugar.

Usando un navegador específico:

Si por alguna razón tu aplicación necesita usar un navegador específico, puedes acceder al conjunto de controladores de navegadores registrados usando la función get(). Este controlador de navegador tiene métodos para abrir open(), open_new() y open_new_tab(). Este ejemplo fuerza el uso del navegador lynx.

import webbrowser

b = webbrowser.get('lynx')
b.open('http://docs.python.org/lib/module-webbrowser.html')

Ve la documentación del módulo para una de tipos de navegadores disponibles.

Variable BROWSER:

Los usuarios pueden controlar en módulo desde afuera de tu aplicación estableciendo la variable de entorno BROWSER a una secuencian de nombre de navegadores o comandos. El valor debería consistir en una serie de nombres de navegadores separados por os.pathsep. Si el nombre incluye %s, el nombre es interpretado como un comando literal y ejecutado directamente con %s remplazado por el URL. De lo contrario, el nombre es pasado a get() para obtener un objeto controlador del registro.

Por ejemplo, este comando abre la página Web en lynx, asumiendo que esté disponible, sin importar qué otros navegadores estén registrados.

$ BROWSER=lynx python webbrowser_open.py

Si ninguno de los nombres en BROWSER funciona, webbrowser retorna a su comportamiento por defecto.

Interfaz de línea comandos:

Todas las características del módulo webbrowser están disponibles a través de la línea de comandos así como dentro de tu programa Python.

$ python -m webbrowser   
Usage: /usr/lib/python2.5/webbrowser.py [-n | -t] url
    -n: open new window
    -t: open new tab

Referencias:

Python Module of the Week Home
Descarga el código

Copyright 2008 Doug Hellmann


blog comments powered by Disqus

Categorías