webbrowser - Visualizza pagine web

Scopo Il modulo webbrowser si usa per visualizzare pagine web ai propri utenti.
Versione Python 2.1.3 e superiore

Il modulo webbrowser contiene funzioni per aprire URL in un browser. Il modulo contiene un registro dei browser disponibili, nel caso siano disponibili diverse opzioni nel sistema. La scelta può anche essere controllata tramite la variabile di ambiente BROWSER.

Un Semplice Esempio

Per aprire una pagina nel browser, si usa la funzione open()

import webbrowser

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

L'indirizzo viene aperto in una finestra del browser, quindi quella finestra viene portata in primo piano. La documentazione dice che verrà riusata una finestra esistente, se possibile, ma il reale comportamente potrebbe dipendere dalle impostazioni del browser. Usando Firefox nel mio (Doug Hellmann - n.d.t.) Mac, veniva sempre creata una nuova finestra.

Finestre contro Schede

Se si desidera che venga sempre usata una nuova finestra, si usa open_new().

import webbrowser

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

Se si vuole invece creare una nuova scheda, si usa open_new_tab()

Usare un Browser Specifico

Se per una qualche ragione la propria applicazione deve usare uno specifico browser, si può raggiungere l'insieme dei controller per i browser registrati usando la funzione get(). Il controller del browser contiene i metodi open(), open_new() ed open_new_tab(). Questo esempio forza l'uso del browser lynx.

import webbrowser

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

Si faccia riferimento alla documentazione del modulo per un elenco dei tipi di browser disponibili.

La Variabile BROWSER

Gli utenti possono controllare il modulo all'esterno della propria applicazione impostando la variabile d'ambiente BROWSER con i nomi dei browser o dei comandi da provare. Il valore dovrebbe consistere in una seria di nomi di browser separati da os.pathsep. Se il nome comprende %s, il nome viene intepretato come un comando letterale ed eseguito direttamente rimpiazzando %s con l'indirizzo. Altrimenti il nome viene passato a get() per ottenere un oggetto controller dal registro.

Ad esempio, il seguente comando apre la pagina web in lynx, presupponendo che sia disponibile, a prescindere dal fatto che altri browser siano registrati.

$ BROWSER=lynx
$ python webbrowser_open.py

Se nessuno dei nomi in BROWSER funziona, webbrowser ritorna al suo comportamento predefinito.

Interfaccia da Riga di Comando

Tutte le funzionalità del modulo webbrowser sono disponibili tramite la riga di comando così come all'interno del proprio programma Python.

$ python -m webbrowser
Usage: /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/webbrowser.py [-n | -t] url
    -n: open new window
    -t: open new tab

Vedere anche:

webbrowser
La documenazione della libreria standard per questo modulo