Как открыть браузер на пайтоне
Перейти к содержимому

Как открыть браузер на пайтоне

  • автор:

 

Создайте свой собственный браузер Chrome с Python PyQt5

В этом пошаговом руководстве по программированию на Python я покажу вам, как создать простой браузер с использованием платформы PyQt5. Браузер позволит нам открыть URL-адрес в окне, похожем на Chrome.

Python — это объектно-ориентированный язык программирования. Библиотека Qt, написанная на C ++, используется для разработки собственных графических приложений для настольных ПК и создает кроссплатформенный код, поэтому это хороший инструмент для разработки многоплатформенных приложений. Мы можем легко создать наш собственный веб-браузер на Python с помощью библиотеки PyQT5, и версия Python 3 хорошо подойдет для этого руководства, хотя Python 2.7 все еще используется во многих организациях, а также в моей среде.

PyQt5

Qt — это набор кроссплатформенных библиотек C ++, реализующих высокоуровневые API для доступа ко многим аспектам современных настольных и мобильных систем. К ним относятся службы определения местоположения и позиционирования, мультимедиа, NFC и Bluetooth, веб-браузер на основе Chromium, а также традиционная разработка пользовательского интерфейса.

PyQt5 — это полный набор привязок Python для Qt v5. Он реализован в виде более чем 35 модулей расширения и позволяет использовать Python в качестве языка разработки приложений, альтернативного C ++, на всех поддерживаемых платформах, включая iOS и Android.

PyQt5 также может быть встроен в приложения на основе C ++, чтобы пользователи этих приложений могли настраивать или улучшать функциональность этих приложений. «источник»

Установка пакета

Я создал файл `requirements.txt` для установки необходимых пакетов с помощью pip.

Установите требования из файла requirements.txt

Создать веб-браузер

Чтобы создать веб-браузер, выполните следующие действия.

Импортировать пакеты
Создать главные окна
Создать приложение PyQt
Запустить приложение

Я предоставил правильные комментарии внутри части кодирования, она автоматически все объяснит.

Вот файл main.py

Запустите приложение

Чтобы запустить приложение, откройте терминал внутри корневого каталога вашего проекта и запустите —

Это запустит веб-браузер.

Заключение

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

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

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

В данном небольшом примере я покажу Вам как можно работать с веб-браузерами в Python, в частности как открыть браузер.

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

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

webbrowser.open ('https://myrusakov.ru', new=2)

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

Теперь давайте посмотрим на другой пример. Допустим мы хотим получить от пользователя некотрую строку, которую мы затем, к примеру, отправим на форму поиска. Вот как это можно сделать:

query = input('Введите название темы: ')
webbrowser.open_new_tab('https://myrusakov.ru/search.html?query=%s' % query)

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

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

Комментарии ( 0 ):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

Как открыть ссылку в Python. Работа с WebBrowser и решение проблемы с Internet Explorer

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

 

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

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

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

1. Написать через одну строчку:

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

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

2. Не мучиться с запоминанием параметров new и писать по-человечески:

Данная конструкция открывает URL-адрес в новом ОКНЕ браузера по умолчанию, если это возможно, в противном случае откроет URL-адрес в единственном окне браузера.

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

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

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

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

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

Type Name Class Name
‘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’)
‘windows-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.

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

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

  1. Сайт vk.com
  2. Запрос в поисковике — яблоки

Раз нам позволяют открывать только ссылки в дефолтном браузере, так и будем открывать только ссылки.

Шаги решения
  1. Делаем поисковый запрос в наш поисковик (яндекс, гугл и т.д. и т.п.)
  2. Вытаскиваем ссылку

Для начала мы понимаем, что ссылка несёт в себе домен (.ru, .com и т.д.), в запросе же, как правило, точку не ставят (купить машину, фильм онлайн и т.д.), а в ссылке пробел.

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

Немного объясню код.

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

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

В этом условии всё тоже самое что и в первом, но проверка ведётся уже на пробел. А пробел говорит о том, что перед нами поисковой запрос.

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

Проверка на пробел является обязательной, иначе WebBrowser открывает Internet Explorer.

# Webbrowser Module

According to Python’s standard documentation, the webbrowser module provides a high-level interface to allow displaying Web-based documents to users. This topic explains and demonstrates proper usage of the webbrowser module.

# Opening a URL with Default Browser

To simply open a URL, use the webbrowser.open() method:

If a browser window is currently open, the method will open a new tab at the specified URL. If no window is open, the method will open the operating system’s default browser and navigate to the URL in the parameter. The open method supports the following parameters:

  • url — the URL to open in the web browser (string) [required]
  • new — 0 opens in existing tab, 1 opens new window, 2 opens new tab (integer) [default 0]
  • autoraise — if set to True, the window will be moved on top of other applications’ windows (Boolean) [default False]

Note, the new and autoraise arguments rarely work as the majority of modern browsers refuse these commmands.

Webbrowser can also try to open URLs in new windows with the open_new method:

This method is commonly ignored by modern browsers and the URL is usually opened in a new tab. Opening a new tab can be tried by the module using the open_new_tab method:

# Opening a URL with Different Browsers

The webbrowser module also supports different browsers using the register() and get() methods. The get method is used to create a browser controller using a specific executable’s path and the register method is used to attach these executables to preset browser types for future use, commonly when multiple browser types are used.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *