cómo abrir una URL en Python


84
import urllib

fun open():
    return urllib.urlopen('http://example.com')

Pero cuando se abre example.com, no muestra css ni js. ¿Cómo puedo abrir la página web en un navegador web?

@error(404)
def error404(error):
    return webbrowser.open('http://example.com')

Estoy usando botella. Dándome el error:TypeError("'bool' object is not iterable",)


Parece que tenemos una desconexión del idioma. el errordecorador parece estar esperando un iterable. webbrowswer.opense abra una URL en el navegador y el retorno Trueo False, preservando comando-consulta-separación . En realidad, no desea abrir esta página en el navegador, ¿verdad?
aaronasterling

¿Quiere descargar javascript y css después de haber descargado el html?
aaronasterling

Lo que me preocupa es abrir la URL en el navegador. Si es posible descargar js y css, entonces está bien.
shamsee

simplemente abra el intérprete de Python y escriba webbrowser.open('http://www.google.com')y vea si hace lo que quiere.
aaronasterling

si. El resultado es el mismo. Pero siempre se abre en mozilla.
shamsee

Respuestas:


186

con el módulo del navegador web

import webbrowser

webbrowser.open('http://example.com')  # Go to example.com

¿¡¡¡¿Qué diablos ... esto siempre abre Internet Explorer? !!! D: Por el momento utilicé subprocess para llamar a un explorador con la URL como argumento. Esto siempre usa el "navegador web predeterminado" pero también abre una instancia de explorador ... hmmm
ewerybody

29
import webbrowser  
webbrowser.open(url, new=0, autoraise=True)

Muestra la URL con el navegador predeterminado. Si nuevo es 0, la URL se abre en la misma ventana del navegador si es posible. Si nuevo es 1, se abre una nueva ventana del navegador si es posible. Si nuevo es 2, se abre una nueva página del navegador ("pestaña") si es posible. Si autoraise es True, la ventana se eleva

webbrowser.open_new(url)

Abrir URL en una nueva ventana del navegador predeterminado

webbrowser.open_new_tab(url)

Abrir URL en una nueva página ("pestaña") del navegador predeterminado


17

En la ventana

import os
os.system("start \"\" https://example.com")

En macOS

import os
os.system("open \"\" https://example.com")

En Linux

import os
os.system("xdg-open \"\" https://example.com")

Multiplataforma

import webbrowser

webbrowser.open('https://example.com')

10

También tienes que leer los datos.

Consulte: http://www.doughellmann.com/PyMOTW/urllib2/ para comprenderlo.

response = urllib2.urlopen(..)
headers = response.info()
data = response.read()

Por supuesto, lo que quieres es renderizarlo en el navegador y la respuesta de aaronasterling es lo que quieres.


8

También puedes probar:

import os
os.system("start \"\" http://example.com")

Esta, aparte de la respuesta de @aaronasterling, tiene la ventaja de que abre el navegador web predeterminado. Asegúrese de no olvidar el "http: //".


2

Aquí tienes otra forma de hacerlo.

import webbrowser

webbrowser.open("foobar.com")

1

Creo que esta es la forma fácil de abrir una URL usando esta función.

webbrowser.open_new_tab(url)
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.