как открыть URL-адрес в Python


86
import urllib

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

Но когда example.com открывается, он не отображает css или js. Как я могу открыть веб-страницу в веб-браузере?

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

Я использую бутылку. Давая мне ошибку:TypeError("'bool' object is not iterable",)


Похоже, у нас отключился язык. errorдекоратор , кажется, ожидает итератора. webbrowswer.openбудет открыть URL в браузере и возврате Trueили False, сохраняя команду-запрос-разделение . Вы ведь действительно не хотите открывать эту страницу в браузере, не так ли?
aaronasterling

Вы хотите загрузить javascript и css после того, как вы уже скачали html?
aaronasterling

Меня беспокоит, чтобы открыть URL-адрес в браузере. Если это возможно с загрузкой js и css, тогда все в порядке.
shamsee

просто откройте интерпретатор Python, введите его webbrowser.open('http://www.google.com')и посмотрите, делает ли он то, что вы хотите.
aaronasterling

да. Результат такой же. Но всегда открывается в мозилле.
shamsee

Ответы:


188

с модулем веб-браузера

import webbrowser

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

Что за .. это всегда открывает Internet Explorer? !!!? D: На данный момент я использовал подпроцесс для вызова проводника с URL-адресом в качестве аргумента. Он всегда использует «веб-браузер по умолчанию», но также открывает экземпляр проводника ...
хммм

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

Отображать URL с использованием браузера по умолчанию. Если new равно 0, URL-адрес открывается в том же окне браузера, если это возможно. Если new равно 1, по возможности открывается новое окно браузера. Если new равно 2, по возможности открывается новая страница браузера («вкладка»). Если autoraise имеет значение True, окно поднимается

webbrowser.open_new(url)

Открыть URL-адрес в новом окне браузера по умолчанию

webbrowser.open_new_tab(url)

Открыть URL-адрес на новой странице («вкладке») браузера по умолчанию.


18

В окне

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



Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.