як відкрити url в python -


84
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

так. Результат той самий. Але це завжди відкривається в mozilla.
shamsee

Відповіді:


186

за допомогою модуля веб-браузера

import webbrowser

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

Що ... це завжди відкриває Internet Explorer? !!!? Д: На даний момент я використовував підпроцес для виклику дослідника з URL-адресою як аргументом. Тут завжди використовується "веб-браузер за замовчуванням", а також відкривається екземпляр провідника ... hmmm
ewerybody

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

Відображення URL-адреси за допомогою браузера за замовчуванням. Якщо new - 0, URL-адреса відкривається у тому ж вікні браузера, якщо це можливо. Якщо new - 1, за можливості відкриється нове вікно браузера. Якщо new - 2, за можливості відкриється нова сторінка браузера (“вкладка”). Якщо autoise True, вікно піднімається

webbrowser.open_new(url)

Відкрийте URL-адресу в новому вікні браузера за замовчуванням

webbrowser.open_new_tab(url)

Відкрийте URL-адресу на новій сторінці ("вкладка") браузера за замовчуванням


17

На вікні

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



1

Я думаю, що це найпростіший спосіб відкрити URL-адресу за допомогою цієї функції

webbrowser.open_new_tab(url)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.