Как открыть ссылку в браузере Python

Обновлено: 22.11.2024

В ходе работы над курсивом для универа я наткнулся на стандартный модуль Python — WebBrowser. Через этот модуль я хотел реализовать работу голосового помощника - Лора с браузером по умолчанию, но все пошло не так гладко, как ожидалось. Давайте сначала расскажем, что это за модуль и как он вообще работает.

WebBrowser – это встроенный в Python модуль, предоставляющий высокоуровневый интерфейс для просмотра веб-документов.

Для начала импортируйте модуль с помощью команды:


Теперь есть выбор, как открыть ссылку. Есть два стула:
1. Напишите в одну строку:


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

Вы можете смело пропустить значение autoraise, потому что оно открывает браузер поверх всех окон, а большинство современных браузеров игнорируют эту переменную, даже если установлено значение False.

<р>2. Не мучайтесь запоминанием новых параметров и пишите по-человечески:


Этот дизайн открывает URL-адрес в новом окне браузера по умолчанию, если это возможно, в противном случае URL-адрес открывается в одном окне браузера.


В этом случае URL-адрес будет открываться на новой странице браузера ("вкладке") по умолчанию, если это возможно, в противном случае эквивалентно open_new().

Предположим, вам не нужен браузер по умолчанию. Есть классная команда .get() для выбора браузера


Грубо говоря, вы просто указываете, какой браузер используете.

Например, открытие новой вкладки в Google Chrome:


Таблица имен браузеров:

Имя типа Имя класса
'mozilla' Mozilla ('mozilla')
'firefox' Mozilla ('mozilla')
'netscape' Mozilla ('netscape')
'galeon' Galeon ('galeon')
'epiphany' ' Galeon ('epiphany')
'skipstone' BackgroundBrowser ('skipstone' )
'kfmclient' Konqueror()
'konqueror' ' Konqueror()
'kfm' Konqueror()
'mosaic' BackgroundBrowser('mosaic')
'opera' Opera()
'grail' Grail()
'links' GenericBrowser ('links')
'elinks' Elinks ('elinks')
'lynx' GenericBrowser ('lynx')
'w3m' GenericBrowser ('w3m')
'виндо ws-default' Windowsdefault
'macosx' MacOSX ('default')
'safari' MacOSX ('safari')
'google-chrome' Chrome ( 'google-chrome')
'chrome' ' Chrome ('chrome')
'chromium' ' Chromium ('chromium')
'chromium-browser' Chromium ('chromium-browser ')

Но не всегда можно обойтись одной .get(), и в этом случае на помощь приходит функция .register(), например:


Мы указали путь к Google Chrome, назвали его, и теперь все ссылки открываются только в нем. Надеюсь, мы немного разобрались с модулем WebBrowser и теперь давайте перейдем к моей маленькой проблеме.

Как уже было сказано ранее, для курсового проекта я выбрал создание голосового помощника. Я хотел научить его переходить по ссылкам и искать информацию в поисковике. Конечно, можно было бы «напихать» для этого массу библиотек, но в основном я хотел реализовать это через стандартный модуль WebBrowser.

Поскольку в большинстве современных браузеров строка ввода ссылки и строка поиска — это одно и то же, казалось бы, можно просто перенаправить запрос туда же, куда отправляется ссылка.


По логике этого кода должны открываться две вкладки:

Поскольку нам разрешено открывать только ссылки в браузере по умолчанию, мы будем открывать только ссылки.

Этапы решения

Поэтому мы будем искать точку и пробел в том, что ввел пользователь. Мы можем сделать это благодаря модулю re, который также изначально встроен в Python. Python предлагает две различные примитивные операции, основанные на регулярных выражениях: match ищет шаблон в начале строки, а search ищет всю строку. Мы будем использовать операция поиска .


Я немного поясню код.

Пользователь вводит ссылку или текст запроса в переменную вызова.


Первое условие проверяет переменную вызова на наличие точки внутри нее. Символ '\' обязателен, иначе модуль не понимает, что перед ним стоит точка.


В этом условии все то же самое, что и в первом, но уже идет проверка пробела. Пробел означает, что у нас есть поисковый запрос.


А else, в свою очередь, присваивает все, что пользователь написал без пробелов и точек в поисковом запросе.

Необходима проверка наличия пробела; в противном случае WebBrowser открывает Internet Explorer.

Python — это интерпретируемый язык; у него есть разные библиотеки для выполнения различных функций. Унифицированный указатель ресурсов (URL) на самом деле является веб-адресом для открытия определенного сайта. Иногда при работе на питоне нам нужно получить данные с веб-сайта, для этого нам нужно открыть URL-адрес определенного веб-сайта. Итак, чтобы открыть URL-адрес в python, нам нужно импортировать указанный модуль и выполнить некоторые шаги, чтобы открыть этот URL-адрес. В этой статье мы обсудим, как открыть URL-адрес в Python с помощью модулей «urllib.request» и «webbrowser» в Ubuntu (ОС Linux) с помощью определенной процедуры.

Требование:

Любая установленная версия Python (python3 предустановлен в последней версии Ubuntu)

Выполните любую из описанных ниже процедур, чтобы открыть URL-адрес в Python:

Как создать файл Python

Создайте файл с именем «python_file.py» (файл python), используя команду «nano», как указано ниже, чтобы написать в нем код python

Вы можете изменить имя файла по своему выбору.

Как открыть URL с помощью модуля urllib.request

«urllib.request» — это один из модулей Python, который позволяет открывать URL-адреса в Python.

Шаг 1. Импорт библиотеки urllib.request

Чтобы открыть URL-адрес в python, вам сначала нужно импортировать «urllib.request», вставьте ниже указанную строку кода импорта, прежде чем запускать код во вновь созданном файле «python_file.py»:

Шаг 2. Открытие URL с помощью функции urllib.request

Чтобы открыть URL определенного веб-сайта с помощью urllib.request, используйте приведенный ниже синтаксис:

URL-адрес веб-сайта: введите URL-адрес веб-сайта, который вы хотите получить.

импортировать urllib . запрос

print("Статус ответа: " + str(get_url.getcode()) )

Get_url — это переменная, которая получает данные с указанного URL-адреса, а print используется для печати вывода.

Нажмите «Ctrl+s», чтобы сохранить файл, и «Ctrl+x», чтобы выйти из файла:

Чтобы проверить работу кода, запустите указанную ниже команду для запуска файла «python_file.py».

В приведенном выше выводе показано, что соединение установлено успешно.

импортировать urllib . запрос

print("Статус ответа: " + str(get_url.getcode()) )

print (get_url.read())

Выполните указанную ниже команду, чтобы выполнить файл «python_file.py», чтобы получить желаемый результат:

Как открыть URL-адрес с помощью модуля «веб-браузер»

«веб-браузер» — это один из модулей Python, который также используется для открытия URL-адресов или веб-сайтов в Python, но направляет ссылку в браузер.

Чтобы открыть URL-адрес с помощью модуля «веб-браузер», выполните следующие действия:

Шаг 1. Импорт библиотеки «веб-браузер»

Чтобы открыть URL-адрес, сначала вам нужно импортировать библиотеку «webbrowser» в «python_file.py» с помощью указанной ниже строки кода:

Шаг 2. Открытие URL с помощью модуля веб-браузера

Чтобы открыть URL-адрес определенного веб-сайта в браузере с помощью «веб-браузера», используйте приведенный ниже синтаксис:

Вставьте свой URL вместо «website_url» в приведенном выше синтаксисе.

Чтобы открыть браузер URL, выполните код, написанный в «python_file.py», с помощью указанной ниже команды:

Вывод:

Чтобы получить данные с веб-сайта во время программирования, нам нужно открыть URL-адрес. В этой статье я обсудил методы открытия URL-адресов в python в Ubuntu (система Linux). Два способа обсуждаются с примерами: один — импортировать модуль «urllib.request», а другой — импортировать модуль «webbrowser» в python. Если вы программист на Python, то после прочтения этой статьи вы сможете с легкостью открывать URL-адреса в Python.

Об авторе

Алишба Ифтихар

В настоящее время я учусь на первом курсе бакалавриата. Я интернированный автор в Linuxhint, и мне нравилось учиться искусству написания технического контента у старших авторов.После выпуска я с нетерпением жду возможности стать полноценным писателем по Linux.

Знаете ли вы, как открыть URL-адрес в веб-браузере с помощью программы Python? Если вы ищете ответ на этот вопрос, здесь, в этом уроке. Я собираюсь поделиться простыми командами в Python, чтобы открыть URL-адрес в браузере. Вы можете использовать его.

Прежде всего вам необходимо импортировать библиотеку веб-браузера. Если библиотека не установлена ​​в вашей системе, вы можете установить ее с помощью pip, выполнив следующую команду.

Теперь вы готовы написать свою программу на Python, чтобы открывать любой URL-адрес веб-сайта в веб-браузере.

Давайте начнем писать код с примеров…

Код на Python для открытия URL в браузере

Как открыть URL в браузере с помощью Python?

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

Новый параметр имеет особое значение.

  • Если new = 0, открыть URL в том же окне браузера
  • Если new = 1, URL-адрес открывается в новом окне браузера.
  • Если новый = 2, открыть URL на той же вкладке.

Запустите эту программу.

Если в вашей системе не установлен модуль веб-браузера, вы получите следующую ошибку.

В этом случае вам необходимо установить модуль с помощью инструмента pip.

Открытие URL в определенном браузере, скажем, в Firefox и Chrome

Открыть URL в новом окне браузера

Открыть URL в новой вкладке

Дальнейшее изучение…

Если вы хотите изучить дополнительные методы, доступные в модуле webbrowser, вы можете получить все связанные методы, запустив метод dir().

Использование модуля Python веб-браузера для открытия URL-адреса в браузере?

  • Это полезно для автоматизированного тестирования в веб-разработке. Используя этот код, вы можете открыть URL-адрес веб-сайта веб-разработки в браузере, а затем протестировать его. Нажатие на кнопки, автоматическое заполнение формы, вход на веб-сайт и так много тестовых случаев, которые вы можете изучить с его помощью. Selenium — один из инструментов автоматизации тестирования, обладающий всеми этими функциями.
  • Вы можете использовать его для просмотра веб-страниц.
  • Используя один сценарий, вы можете открыть URL-адрес в нескольких браузерах. Если вы занимаетесь веб-разработкой, вы можете запустить скрипт, чтобы проверить макет рендеринга нового веб-сайта в нескольких браузерах. Я использую этот трюк при разработке веб-сайтов Django.

Как стать хорошим веб-разработчиком, используя Python?

Если вы интересуетесь веб-разработкой или автоматизацией, вы можете ознакомиться с некоторыми интересными статьями, которые могут помочь вам изучить свои навыки работы с Python…

Я много раз использую Python для веб-разработки. Ниже приведена ссылка, показывающая простой сценарий, упрощающий мою деятельность по веб-разработке с помощью Python.

Это все об этом руководстве по программированию на Python, чтобы открыть URL-адрес в браузере. Я также упомянул некоторые из сценариев, которые могут оказаться полезными в этом руководстве. Если у вас есть какие-либо сомнения, перейдите в раздел комментариев ниже.

Анируддха Чаудхари

Комментарии

Просто хочу упомянуть о закравшейся ошибке копирования и вставки.

Анируддха Чаудхари

Спасибо за информацию. Исправлено!

Рад видеть вас здесь.

абдулла

Привет!
Я хочу подписаться на еженедельную рассылку
Как мне открыть ссылку в Python?
У меня есть программа для отдыха. Она играет мою любимую музыку.
Например, я хочу, чтобы программа открывала домашнюю страницу на YouTube, а затем случайным образом выбирает музыку.
Как это сделать?

Анируддха Чаудхари

Отправьте запрос на получение веб-страницы Youtube и используйте веб-скрапинг для чтения и обработки содержимого.

Уоррен С

Здравствуйте, Анируддха, спасибо, что поделились этой огромной информацией. Чтобы им стать, я всегда хотел немного научиться программированию на Python, но пока не решился.

Анируддха Чаудхари

Надеемся, вы найдете на нашем портале полезные материалы по кодированию Python.

Рози Мартин

Спасибо за этот интересный пост, я поделился им в Твиттере.

Анируддха Чаудхари
Джайдип Самуэль

Я вижу, что и webbrowser.open_new, и webbrowser.open_new_tab открывают новые вкладки в Google Chrome. Я запускаю это в среде Windows 10

Анируддха Чаудхари

Джайдип, попробуйте использовать «новый» параметр с методом webbrowser.open(strURL, new=2).

Маянк Чахар

Что делать, если мы хотим, чтобы наш браузер открывался сам по себе, а затем случайно посещал веб-страницу. Кроме того, если на этой странице есть другой URL-адрес, его также следует посетить?

Анируддха Чаудхари

Чтобы найти URL-адрес внутри страницы, необходимо использовать веб-скрейпинг. А затем рекурсивно открывать ссылки в новой вкладке.

Чакри

Спасибо, что поделились информацией. действительно полезно.
У меня есть задача, и мне нужна помощь для некоторых идей, и в то же время я новичок в кодировании.
Как получить новую версию выпуска или пакет обновлений с любого веб-сайта? например, MS Power BI выпускает разные версии, и я хотел бы увидеть уведомление через программу Python. Вы можете мне помочь?

Анируддха Чаудхари

Если вы хотите получать информацию (например, версии MS Power BI) с других веб-сайтов, вам нужно изучить веб-скрапинг. Вы можете написать скрипт Python для вызова этого веб-сайта, сбора и анализа данных, чтобы найти дату выпуска. Вы можете запустить этот скрипт Python через некоторое время.

Марк Бен

спасибо, Анируддха, я искал это повсюду!

Сурья Пракаш Шах

Код ниже:

Файл «C:\Python27\lib\webbrowser.py», строка 52, в get
raise Error («не удалось найти работающий браузер»)
Ошибка: не удалось найти работающий браузер

Нужно ли регистрировать/находить браузер (это не браузер по умолчанию)?

Анируддха Чаудхари

Похоже, ваша система не обнаруживает браузер Chrome для открытия. Попробуйте…

<р>1. нажмите «Win+R»
2. введите "хром"

И проверьте, открывает ли он браузер Chrome.

Митеш

Привет, я новичок в Python. Я хочу автоматически воспроизводить IP-камеру в веб-браузере моего raspberry pi, используя Python, поскольку это Firefox, но когда он открыт, открывается только пустая страница, и нечего отображать. Если это возможно, пожалуйста, дайте мне знать. Спасибо!

Анируддха Чаудхари

Привет, Митеш! Отлаживать код, не зная его кода и реализации, очень сложно. Вы можете попробовать открыть другие веб-браузеры, такие как Chrome. Для Raspberry pi вы можете обратиться за помощью к micro Python.

Митеш

Спасибо за ваш теплый ответ, Анируддха… Я использую selenium python для этой IP-камеры, и я получаю результат, открывая свой веб-браузер как chrome/firefox, но каждый раз, когда мне приходится давать разрешение этому веб-браузеру (только в хром, автозапуск firefox, но получаю белую пустую страницу). Итак, здесь я должен дать разрешение на флэш-память в моем веб-браузере. Я пытаюсь, но не получаю этого.

Анируддха Чаудхари

Mitesh, сейчас вы можете удалить Firefox и протестировать его в браузере Chrome. А также проверьте, является ли ваш Firefox веб-браузером по умолчанию? Укажите имя браузера при открытии вкладки, чтобы он открывал указанный браузер вместо браузера по умолчанию.

Митеш

Да… вы правы, но в хроме с raspberry pi 3 я столкнулся с какой-то неизвестной ошибкой, которая…

Из-за этой ошибки у меня много проблем с Chrome. Итак, есть ли возможность автоматически разрешить разрешение в веб-браузере?

Узнайте, как открыть веб-браузер в Python. Я покажу два способа добиться этого, используя две разные библиотеки и какие библиотеки лучше всего подходят для вашего случая.

Привет! В этом уроке вы узнаете, как открыть веб-браузер в Python. Я покажу два способа добиться этого, используя две разные библиотеки. Вы также будете знать, что следует учитывать при принятии решения о том, какая библиотека лучше подходит для вашего решения или варианта использования. Давайте погрузимся!

Оглавление

Откройте веб-браузер, используя библиотеку веб-браузера

Модуль веб-браузера — это модуль Python, который позволяет открывать веб-браузер. Это встроенный модуль, что означает, что вам не нужно ничего устанавливать, поскольку модуль был установлен при установке Python.

Если вы хотите проверить, включен ли модуль веб-браузера в вашу установку Python, вы можете проверить это, выполнив следующую команду в своем терминале:

Чтобы открыть веб-браузер с помощью модуля веб-браузера Python, сначала необходимо импортировать модуль в скрипт Python. Затем вам нужно вызвать функцию .open() , передав два параметра: URL-адрес веб-страницы, которую вы хотите открыть. Второй параметр — это новый параметр, который указывает, как открыть страницу:

  • new=1: открыть веб-страницу в новом окне браузера.
  • new=2: открыть веб-страницу в новой вкладке

Приведенный выше код откроет новую вкладку в браузере по умолчанию.

Откройте веб-браузер с помощью Selenium

Другой альтернативой является открытие браузера с помощью модуля selenium. Этот модуль позволяет вам открыть веб-браузер и имитировать любые действия, такие как нажатие кнопок, заполнение форм, прокрутка вниз и любые возможные действия, которые вы можете выполнять в браузере.

Модуль селена является сторонним модулем, а это значит, что его необходимо установить отдельно с помощью инструмента pip. Вы можете установить его, выполнив следующую команду из своего терминала:

После того как вы установили селен, вы можете открыть браузер в python, используя следующий код:

Во-первых, вам нужно импортировать селен (строка 1). Далее вы создадите экземпляр браузера. В этом примере я использую браузер Google Chrome; однако селен поддерживает другие браузеры, такие как Edge, Firefox и Safari.В качестве параметра нужно передать путь, где находится ваш браузер, причем путь должен включать в себя сам исполняемый файл.

В качестве альтернативы, если вы не знаете, где находится ваш браузер или не можете его найти, вы можете загрузить драйвер браузера, браузер. Вы можете скачать драйвер с любой из следующих страниц:

Этот драйвер представляет собой один файл; поэтому, как только вы загрузите его, сохраните его в той же папке, где находится ваш скрипт Python, а затем передайте путь к файлу в качестве параметра для создания экземпляра веб-браузера.

И, наконец, в строке 5 вы можете использовать метод open(), передав в качестве параметра страницу, которую хотите открыть.

Веб-браузер против Selenium

Мы видели, что вы можете открыть браузер с обоими модулями: webbrowser и selenium, однако какой из них выбрать? Если все, что вы пытаетесь сделать, это открыть браузер для отображения веб-страницы, выберите webbrowser. Selenium больше подходит, если вы хотите имитировать взаимодействие с пользователем, например нажатие кнопки или прокрутку вниз и т. д. Однако использование селена для открытия кнопки было бы излишним. Тем не менее, если вы хотите имитировать любое действие пользователя, лучше всего подойдет селен.

Скрипт Python для открытия веб-страницы и входа в систему

Открытие браузера с помощью Selenium имеет некоторые преимущества по сравнению с веб-браузером. Одним из них является то, что вы можете выполнять дальнейшие действия в качестве входа на веб-страницу.

Selenium позволит вам автоматизировать этап входа в систему. Сначала вам нужно будет выделить виджеты, чтобы ввести свои данные, а затем ввести данные. Другими словами, вы напишете Selenium-бота. Перейдите по ссылке ниже, чтобы пошагово узнать, как войти на веб-сайт с помощью Selenium:

Заключение

Подводя итог, в этом руководстве вы узнаете, как открыть веб-браузер в Python, используя два разных модуля Python: webbrowser и selenium, а также когда выбирать каждый из них.

Надеюсь, вам понравится это руководство, и спасибо за чтение и поддержку этого блога! Удачного кодирования!

Читайте также: