wie man eine URL in Python öffnet

86
import urllib

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

Wenn example.com geöffnet wird, werden weder CSS noch JS gerendert. Wie kann ich die Webseite in einem Webbrowser öffnen?

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

Ich benutze eine Flasche. Gib mir den Fehler:TypeError("'bool' object is not iterable",)

shamsee
quelle
Es sieht so aus, als hätten wir eine Sprachunterbrechung. Der errorDekorateur scheint ein iterables zu erwarten. webbrowswer.openwird öffnen Sie eine URL in den Browser und die Rückgabe Trueoder die FalseKonservierung Befehls Abfrage-Trennung . Sie möchten diese Seite eigentlich nicht im Browser öffnen, oder?
Aaronasterling
Möchten Sie Javascript und CSS herunterladen, nachdem Sie das HTML bereits heruntergeladen haben?
Aaronasterling
Ich mache mir Sorgen, URL im Browser zu öffnen. Wenn es mit Downloding von js und css möglich ist, ist es OK.
Shamsee
Öffnen Sie einfach den Python-Interpreter und geben webbrowser.open('http://www.google.com')Sie ein, ob er das tut, was Sie wollen.
Aaronasterling
Ja. Das Ergebnis ist das gleiche. Aber es öffnet sich immer in Mozilla.
Shamsee

Antworten:

187

mit dem Webbrowser- Modul

import webbrowser

webbrowser.open('http://example.com')  # Go to example.com
aaronasterling
quelle
Was zum .. das öffnet immer den Internet Explorer? !!!? D: Zur Zeit habe ich einen Unterprozess verwendet, um einen Explorer mit der URL als Argument aufzurufen. Dies verwendet immer den "Standard-Webbrowser", öffnet aber auch eine Explorer-Instanz ... hmmm
ewerybody
29
import webbrowser  
webbrowser.open(url, new=0, autoraise=True)

Zeigen Sie die URL mit dem Standardbrowser an. Wenn new 0 ist, wird die URL nach Möglichkeit im selben Browserfenster geöffnet. Wenn neu 1 ist, wird nach Möglichkeit ein neues Browserfenster geöffnet. Wenn neu 2 ist, wird nach Möglichkeit eine neue Browserseite ("Tab") geöffnet. Wenn Autoraise True ist, wird das Fenster geöffnet

webbrowser.open_new(url)

Öffnen Sie die URL in einem neuen Fenster des Standardbrowsers

webbrowser.open_new_tab(url)

Öffnen Sie die URL auf einer neuen Seite ("Registerkarte") des Standardbrowsers

imp
quelle
18

Am Fenster

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

Unter macOS

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

Unter Linux

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

Plattformübergreifend

import webbrowser

webbrowser.open('https://example.com')
abranhe
quelle
10

Sie müssen auch die Daten lesen.

Überprüfen Sie: http://www.doughellmann.com/PyMOTW/urllib2/ , um es zu verstehen.

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

Natürlich möchten Sie es im Browser rendern und die Antwort von aaronasterling ist genau das, was Sie wollen.

pyfunc
quelle
8

Sie könnten auch versuchen:

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

Abgesehen von der Antwort von @aaronasterling hat dies den Vorteil, dass der Standard-Webbrowser geöffnet wird. Vergessen Sie nicht das "http: //".

Sebastian Hietsch
quelle
2

Hier ist eine andere Möglichkeit, dies zu tun.

import webbrowser

webbrowser.open("foobar.com")
David Odhiambo
quelle
1

Ich denke, dies ist der einfache Weg, um eine URL mit dieser Funktion zu öffnen

webbrowser.open_new_tab(url)
Namdari Himan
quelle