как открыть 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",)

Shamsee
источник
Похоже, у нас отключился язык. 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')
Abranhe
источник
10

Вы тоже должны читать данные.

Проверьте: http://www.doughellmann.com/PyMOTW/urllib2/, чтобы понять это.

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

Конечно, вы хотите отобразить его в браузере, и ответ aaronasterling - это то, что вы хотите.

pyfunc
источник
8

Вы также можете попробовать:

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

Этот ответ, кроме ответа @aaronasterling, имеет то преимущество, что он открывает веб-браузер по умолчанию. Убедитесь, что вы не забыли «http: //».

Себастьян Хитч
источник
2

Вот еще один способ сделать это.

import webbrowser

webbrowser.open("foobar.com")
Дэвид Одхиамбо
источник
1

Я думаю, что это простой способ открыть URL-адрес с помощью этой функции

webbrowser.open_new_tab(url)
Намдари Химан
источник