Buenas, pues tengo un problema, andaba buscando como abrir una página web( como si fuese start www.google.es en batch) desde Python, y he buscado bastante y no veo nada claro, busqué sobre el módulo subprocess, pero no encontré o no supe hacer para que arranque una web, creo que se podría hacer usando comandos del cmd, con Windows, como si fuese un Batch, pero realmente quisiera saber si se podría hacer con Python.
Saludos y gracias.
import webbrowser
webbrowser.open("www.google.com")
Ahí tienes la documentación :)
http://docs.python.org/library/webbrowser.html
Psss, no me acordaba para nada de ese módulo, por mi parte lo hubiese hecho con POPEN, pero claro, este abre el navegador por defecto :D
Saludos
Me he unido al club :D
Otra forma rapida tambien.
import os
os.system("firefox www.google.com")
Por ejemplo ;)
Cita de: ^TiFa^ en 5 Enero 2010, 19:02 PM
Me he unido al club :D
¿También te unes a python?
[offtopic]Python! Python! Python! Wiiii, ahora todos al post de ejercicios de Python, que han dejado uno para trabajo con sockets :xD[/offtopic]
Es verdad que ^TiFa^ lo estaba aprendiendo :P
Saludos
Offtopic : Naaaa, he sido un vago, no he seguido adelante, estoy siguiendo de poco el libro de "Python para todos", más adelante viene lo de sockets.
Tambien puedes:
import urllib
f = urllib.urlopen("http://foro.elhacker.net")
print f.read()
Un saludo
Edit: Perdon, no habia leido que querias que fuese igual al comando start de batch. Error mio ;D
Si me he unido al club :D aunque desconozco aun hasta que nivel de aprendizaje.
Sigo observando la considerable rapidez de respuesta de Perl como CGI vs Python como CGI.
Pero... nunca esta demas agregar un lenguaje script mas al repositorio de la cabeza. ;-)
Cita de: ^TiFa^ en 5 Enero 2010, 19:02 PM
Me he unido al club :D
Otra forma rapida tambien.
import os
os.system("firefox www.google.com")
Por ejemplo ;)
No me funciona, he probado ha poner también el firefox aparte en comillas y tampoco me funciona :S.
Cita de: Littlehorse en 6 Enero 2010, 01:58 AM
Tambien puedes:
import urllib
f = urllib.urlopen("http://foro.elhacker.net")
print f.read()
Un saludo
Edit: Perdon, no habia leido que querias que fuese igual al comando start de batch. Error mio ;D
Eso es para ver el código fuente xD.
Carloswaldo, lo tuyo me funcionó pero estuve mirando para poner firefox, con el comando webbrowser.get , pero no me funciona, tienes idea de como hacerlo para que sea el Firefox ¿?
Gracias a todos, saludos.
Que Sistema Operativo estas utilizando CaronteGold? he probado dicho script que realize bajo Linux y funciona perfectamente, tambien lo probe bajo Windows XP pero tuve que colocarle la ruta completa donde estaba el ejecutable principal del navegador. Digase:
os.system("C:\Firefox\bin\firefox.exe www.google.com")
Por ejemplificar.
Verificate si puedes desde una terminal (Si hablamos de Linux) puedes ejecutar firefox sin colocarle la ruta donde este esta, si es posible o se ejecuta deberia sin problema alguno arrancar desde Python, pero sino puedes ya que la ruta no esta en el PATH global intenta o ponerlo en el PATH global o colocar la ruta completa adentro de la funcion system.
Tengo Windows XP, y por ejemplo si en el cmd pongo "start firefox.exe" va bien... , y aún poniendo la ruta en Python de esta forma:
import os
os.system("C:\Archivos de programa\Mozilla Firefox\firefox.exe www.google.com")
No me funciona tampoco, no da error ni nada, pero no abre.
Prueba asi:
import webbrowser
url = 'www.google.com'
nav=webbrowser.get('mozilla')
nav.open_new(url)
Cita de: Littlehorse en 6 Enero 2010, 19:50 PM
Prueba asi:
import webbrowser
url = 'www.google.com'
nav=webbrowser.get('mozilla')
nav.open_new(url)
nav=webbrowser.get('mozilla')
raise Error("could not locate runnable browser")
Error: could not locate runnable browser
Me dan esos errores.
A mi tampoco me funciona el elegir otro navegador ... habrá que revisar las funciones del modulo webbrowser, pero la verdad, ... tengo mucha pereza :xD
Es que la documentacion lo aclara:
[1] Executables named here without a full path will be searched in the directories given in the PATH environment variable.
Que en Windows lo tienes en:
Propiedades del sistema>Opciones avanzadas>Variables de entorno.
Lo facil seria hacer:
import os
f= "d:\\progra~1\\firefox\\firefox.exe www.google.com"
os.system(f)
Saludos!
También puedes hacer esto (para windows)
import os
os.system("start www.google.com")
que es más simple xD para abrirlo con firefox se supone que el código sería este:
import webbrowser
nav = webbrowser.Mozilla('mozilla')
nav.open_new("www.google.com")
Pero me da un error raro :/
Es que en el primer caso entonces es preferible usar Windows-default con webbrowser.
En el segundo si no me falla tenes un error en la linea de webbrowser.mozilla, pero no estoy seguro. Pero sin mas, eso solo va a funcionar si la ruta del mozilla existe en las variables de entorno, de otro modo hay que registrar el tipo de navegador con register.
[1] Executables named here without a full path will be searched in the directories given in the PATH environment variable.
La ruta del mozilla supongo que la puedes sacar del registro en HKEY_LOCAL_MACHINE\Software\Mozilla\Mozilla Firefox\Aca la version instalada\ y ahi tendras dos claves: PathToExe e Instal directory.
Otra forma podria ser:
import os
import subprocess
url='http://www.google.com'
nav = 'd:\\progra~1\\Firefox\\firefox.exe'
if os.path.isfile(nav):
subprocess.Popen([nav, url])
El error que me da es este
>>> nav.open_new("www.google.com")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python31\lib\webbrowser.py", line 152, in open_new
return self.open(url, 1)
File "C:\Python31\lib\webbrowser.py", line 276, in open
success = self._invoke(args, True, autoraise)
File "C:\Python31\lib\webbrowser.py", line 239, in _invoke
stderr=inout, preexec_fn=setsid)
File "C:\Python31\lib\subprocess.py", line 604, in __init__
raise ValueError("close_fds is not supported on Windows "
ValueError: close_fds is not supported on Windows platforms if you redirect stdin/stdout/stderr
Cita de: Carloswaldo en 6 Enero 2010, 23:16 PM
También puedes hacer esto (para windows)
import os
os.system("start www.google.com")
que es más simple xD para abrirlo con firefox se supone que el código sería este:
import webbrowser
nav = webbrowser.Mozilla('mozilla')
nav.open_new("www.google.com")
Pero me da un error raro :/
Pero entonces si el usuario no tiene firefox, no abre, verdad?
No. En ese caso tendrias que agregar un poco mas de codigo para que, en caso de no estar firefox instalado, utilizar el navegador por defecto u otro en todo caso.
@Carlos
Ni idea ese error :-\
Me gustaría que alguien probara el mismo código en linux a ver si corre.
EDITO:
En linux este código funciona perfecto:
>>> import webbrowser
>>> nav = webbrowser.Mozilla('firefox')
>>> nav.open_new("www.google.com")
True
>>>
Así que el problema debe ser de Windows xD
Carloswaldo probe tu codigo en un archivo (No directamente en el interprete) y funciono sin problemas.. bajo Linux.
El problema no es Windows. El problema es que no tienes a Firefox en el PATH :D
Un saludo
No, el error dice que es de Windows xD Y sí puse al directorio de firefox en %path%
Entonces no se, igualmente creo que ya tiene como 10000 opciones para hacer lo que queria ;D.
Un saludo
Hola, acabo de probar lo siguiente en Windows XP con Python 3.1.1 y funciona ;) prueba haber si te va:
import subprocess
pagina='www.google.com'
subprocess.Popen( '"C:\Program Files\Internet Explorer\iexplore.exe" -brokerredirect %s' % pagina )
El código de Littlehorse no me funcinó, no da error, pero no abre nada.
Y este último de Tifa me da este error (he cambiado la ruta del IE por Mozilla):
subprocess.Popen( '"C:\Archivos de programa\Mozilla Firefox\firefox.exe" -brokerredirect %s' % pagina )
File "C:\Python26\lib\subprocess.py", line 595, in __init__
errread, errwrite)
File "C:\Python26\lib\subprocess.py", line 804, in _execute_child
startupinfo)
WindowsError: [Error 123] El nombre de archivo, directorio o etiqueta del volumen no es válido.
De todas formas da igual, me sirve con el IE, la cosa es que en el Linux no hay IE no ¿?, o al menos no viene predeterminado.
Saludos.
EN Linux funciona este perfectamente, que lo postee anteriormente.
Citar
import os
os.system("firefox www.google.com")
Cita de: Littlehorse en 6 Enero 2010, 19:50 PM
Prueba asi:
import webbrowser
url = 'www.google.com'
nav=webbrowser.get('mozilla')
nav.open_new(url)
en vez de poner mozilla pones firefox, en linux funciona perfectamente.
Cita de: antkk en 29 Mayo 2015, 14:38 PM
en vez de poner mozilla pones firefox, en linux funciona perfectamente.
Has reabierto un tema de hace más de 5 años :)
https://docs.google.com/document/d/1OsG_dD3SwbkOmMTg3bAFFRFY69Tq6JQLFf593n97D7Y/preview
Cita de: тαптяα en 29 Mayo 2015, 14:51 PM
Has reabierto un tema de hace más de 5 años :)
https://docs.google.com/document/d/1OsG_dD3SwbkOmMTg3bAFFRFY69Tq6JQLFf593n97D7Y/preview
No me he dado cuenta de la fecha, estoy realizando unos ejercicios de python y probando cosas he dado con la solución...