如何在 python 中打开 URL

问题描述 投票:0回答:8
import urllib

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

但是当 example.com 打开时,它不会呈现 CSS 或 JavaScript。如何在网络浏览器中打开网页?

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

我用的是瓶子。给我错误:

TypeError("'bool' object is not iterable",)
python bottle
8个回答
264
投票

使用webbrowser模块

import webbrowser

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

39
投票
import webbrowser  
webbrowser.open(url, new=0, autoraise=True)

使用默认浏览器显示网址。如果 new 为 0,则在可能的情况下在同一浏览器窗口中打开 url。如果 new 为 1,则可能会打开一个新的浏览器窗口。如果 new 为 2,则如果可能,将打开一个新的浏览器页面(“选项卡”)。如果 autoraise 为 True,则窗口升起

webbrowser.open_new(url)

在默认浏览器的新窗口中打开网址

webbrowser.open_new_tab(url)

在默认浏览器的新页面(“选项卡”)中打开 url


36
投票

Windows

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

macOS

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

Linux

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

跨平台

import webbrowser

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

10
投票

你也必须阅读数据。

查看:http://www.doughellmann.com/PyMOTW/urllib2/ 了解它。

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

当然,你想要的是在浏览器中渲染它,aaronasterling的答案就是你想要的。


8
投票

你也可以试试:

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

除了@aaronasterling 的回答之外,它的优点是可以打开默认的网络浏览器。 一定不要忘记“http://”。


3
投票

这是另一种方法。

import webbrowser

webbrowser.open("foobar.com")

1
投票

我认为这是使用此功能打开 URL 的简单方法

webbrowser.open_new_tab(url)

0
投票

对于那些不想使用

webbrowser
的人,这是我使用
os
的仅限 Windows 的解决方案:

import os # `os.path` is still available through `os`!

sOFile = os.path.join(os.environ["TEMP"], "so.url") # Put StackOverflow's .URL file in %temp%
with open(sOFile, "w") as urlIO:
    urlIO.write("[InternetShortcut]\nURL=https://stackoverflow.com")
os.startfile(sOFile)
os.remove(sOFile)
© www.soinside.com 2019 - 2024. All rights reserved.