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",)


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

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


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')

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.


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: //".


2

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

import webbrowser

webbrowser.open("foobar.com")

1

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

webbrowser.open_new_tab(url)
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.