Un navegador minimalista

Publicado por el 1 Jun 2010
en   7 Comentarios

En un hilo en ubuntuforums.org uno de sus miembros publicó un script en Python, de tan sólo 1.2KB, que permite ejecutar un navegador completamente funcional.

De hecho, este script utiliza WebKit para su funcionamiento, por lo que está asegurada la compatibilidad con páginas que incorporen tecnologías web recientes, y por supuesto compatibilidad total con los estándares (WebKit puntúa 100/100 en el test Acid3).


El código del script es el siguiente:
[python]
#!/usr/bin/env python
import sys
import gtk
import webkit
DEFAULT_URL = ‘http://www.google.com’ # Change this as you Wish
class SimpleBrowser: # needs GTK, Python, Webkit-GTK
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_position(gtk.WIN_POS_CENTER_ALWAYS)
self.window.connect(‘delete_event’, self.close_application)
self.window.set_default_size(350, 20)
vbox = gtk.VBox(spacing=5)
vbox.set_border_width(5)
self.txt_url = gtk.Entry()
self.txt_url.connect(‘activate’, self._txt_url_activate)
self.scrolled_window = gtk.ScrolledWindow()
self.webview = webkit.WebView()
self.scrolled_window.add(self.webview)
vbox.pack_start(self.scrolled_window, fill=True, expand=True)
self.window.add(vbox)
def _txt_url_activate(self, entry):
self._load(entry.get_text())
def _load(self, url):
self.webview.open(url)
def open(self, url):
self.txt_url.set_text(url)
self.window.set_title(‘%s’ % url)
self._load(url)
def show(self):
self.window.show_all()
def close_application(self, widget, event, data=None):
gtk.main_quit()
if __name__ == ‘__main__’:
if len(sys.argv) > 1:
url = sys.argv[1]
else:
url = DEFAULT_URL
gtk.gdk.threads_init()
browser = SimpleBrowser()
browser.open(url)
browser.show()
gtk.main()
[/python]

Cópialo y pégalo en un documento de texto vacío (por ejemplo mininavegador.py), después dale permisos de ejecución al fichero (chmod +x mininavegador.py), y ejecútalo (python mininavegador.py http://blogubuntu.com).

#

7 comentarios

  1. richardo

    3 junio 2010

    Hola, tengo que decir que es tan sencillo y tan magnífico que es tan increible jajaja pero cualquiera que copie y pegue no les va a correr, porque se ha perdido la identación, deberían de proporcionar el archivo ya creado. Bueno yo se los dejo ya con la identación. Saludos

    (…)

    Responder

    1. Hola, gracias por el aviso. Ya he corregido ésto, y ahora el código aparece correctamente.

      (*) He borrado tu código para evitar confusiones.

      Responder

  2. Gerard

    6 junio 2010

    Muchas gracias por publicar esto, ya que no soy un asiduo lector de ubuntuforum.org, pero esto me interesa realmente, ya que estoy comenzando a programar en python y este “script” es una muy buena forma de ver como usar webkit para dotar a mis aplicaciones con la posibilidad de navegar internet.

    Gracias a ti por postearlo y tambien al usuario que lo penso y posteo inicialmente

    Responder

  3. Me da este error:

    Traceback (most recent call last):
    File “mininavegador.py”, line 4, in
    import webkit
    ImportError: No module named webkit

    Necesita tener instalado algo?

    Responder

    1. “ImportError: No module named webkit”

      Pues parece que le falta webkit, no ??

      Responder

  4. MUY útil, gracias por este código, lo probé y efectivamente corre perfecto, realicé un test cambiando google por una página en mi servidor local en php que comunica con mysql y tiene javascript… y FUNCIONÓ… excelente!

    Responder

  5. Me tira error en ( DEFAULT_URL = ‘http://www.google.com’ )
    y estoy seguro que me estoy mandando una cagada pelotuda jajaja
    grax por subir el code!
    :S

    Responder