La información básica para escribir este tema se la debo al amigo Krel en http://foro.ubuntu-guia.com/ el cual saco la información desde: http://holamundopy.blogspot.com.es/2011/10/navegador-web-con-python.html ; el autor del script es Daniel Fuentes B. al cual obviamente le doy las gracias; la página donde publicó el código del script es: http://pythonmania.wordpress.com/2010/02/18/pywebkit-navegador-web-en-python/
Preparativos para hacer funcionar el script :
- Es un script escrito con python, por lo que tendremos que tener instalados en nuestro sistema algunos paquetes: python-gtk2 , python-webkit , libwebkit-dev : instalamos: sudo apt-get install python-gtk2 python-webkit libwebkit-dev
. O sino lo bajan desde su sitio- Copiar el código (ver mas abajo) en un archivo vacío abierto con gedit; guardar dicho archivo conservando las modificaciones, con un nombre que acabe en .py ( por ejemplo en /home/usuario/Scripts/navegador_web.py ), esto hará que el script sea reconocido como un script escrito con python.
- En propiedades del archivo-> abrir con: poner abrir con gedit para poderlo editar fácilmente.
- Asegurarse de que en propiedades de dicho archivo están activadas las opciones de ejecutar como un programa
- Añadir un nuevo elemento en el menú de aplicaciones, con el comando: /home/usuario/Scripts/navegador_web.py
------------------------------------
Pequeñas modificaciones, sin saber python ( como yo no sé ):
Para editar algunas opciones del script hay que abrirlo con un editor de texto simple, como gedit, y:
- Modificar el nombre del título: en la línea: self.window.set_title("Ejemplo pywebkitgtk - %s" % url) podemos poner por ejemplo: self.window.set_title("Mi Navegador Web - %s" % url)
- Modificar el tamaño por defecto de la ventana: en la línea: self.window.set_default_size(800, 600) podemos cambiar la resolución por ejemplo a 1280x800: self.window.set_default_size(1280, 800)
- Modificar la página de inicio: en vez de browser.open_url("http://google.es/") puedes poner, por ejemplo: browser.open_url("https://duckduckgo.com/")
- (Añadido/Editado) Para quitar la barra de direcciones, poned un símbolo # delante de la linea 37, de forma que quede:
#vbox.pack_start(self.url_text, fill=True, expand=False) .Con esto tenemos un navegador que se abre en la página que queramos y que al no tener barra de direcciones solo puede cambiarse de página si en la inicial hay enlaces, y si no los tiene no se puede cambiar de dirección. Puede ser útil para que sólo se pueda acceder a la página predeterminada, para una página con juegos, para ser usado por un niño pequeño.
Lógicamente sabiendo el lenguaje python se podría modificar mas a fondo el script.
-------------------------------------------
Como usarlo:
Como se puede ver este navegador no tiene barra de menús, ni barra de iconos, sino solo una barra de dirección, y si hemos elegido como página de inicio un motor de búsqueda, por ejemplo DuckDuckGo , tendremos también una barra de búsqueda. Para tener las otras opciones, muy simples (Atrás, Adelante, Detener, Recargar ) solo hay que hacer click con el botón derecho del ratón sobre cualquier zona de la ventana.
En la barra de direcciones hay que poner a mano la dirección completa de la página que se quiera visitar, incluyendo el código inicial http://
No tiene capacidad de guardar ningún tipo de información: ni marcadores, ni contraseñas, por lo que no creo que guarde tampoco cookies, etc; esto puede hacer incomodo su uso como navegador de uso cotidiano, pero a la vez puede hacerlo útil como navegador en modo anónimo.
-------------------------------------------
Código:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Escrito por Daniel Fuentes B.
# Licencia:
# BSD <http://www.opensource.org/licenses/bsd-license.php>
import pygtk
pygtk.require("2.0")
import gtk
import webkit
class Browser:
# Ventana del programa
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_position(gtk.WIN_POS_CENTER)
self.window.set_default_size(800, 600)
self.window.connect("destroy", self.on_quit)
# Un vBox,en la parte de arriba hay una caja para
# ingresar la direccion web, y abago se muestra
# la pagina
vbox = gtk.VBox()
# La parte de la entrada de la url
self.url_text = gtk.Entry()
self.url_text.connect('activate', self.url_text_activate)
# La parte en donde se muestra la pagina que se visita
# (con scroll incluido)
self.scroll_window = gtk.ScrolledWindow()
self.webview = webkit.WebView()
self.scroll_window.add(self.webview)
# Unimos todo en el vBox
vbox.pack_start(self.url_text, fill=True, expand=False)
# El expand=False al empaquetarlo es para que el entry
# no ocupe media pantalla
vbox.pack_start(self.scroll_window, True, True)
self.window.add(vbox)
self.window.show_all()
# Definimos las señales y demas cosas de la ventana:
def url_text_activate(self, entry):
# al activar el entry (por ejemplo al hacer enter),
# se obtiene el texto de la entry (la url) y
# se activa la funcion que abre la url
self.open_url(entry.get_text())
def on_quit(self, widget):
gtk.main_quit()
# La funcion magica que abre la url que se le pasa
def open_url(self, url):
"Funcion que carga la pagina elegida"
# cambia el titulo de la ventana
self.window.set_title("Ejemplo pywebkitgtk - %s" % url)
# mostramos la direccion de la pagina abierta en el entry
self.url_text.set_text(url)
# abre la pagina
self.webview.open(url)
if __name__ == "__main__":
browser = Browser()
# abrimos la pagina de inicio (opcional)
browser.open_url("http://google.es/")
gtk.main()
.





