Отображение страницы в python3

Как я могу сделать отображение веб страницы в интерфейсе python ?

Доступ к исходному коду страницы нету. Нужно что-бы просто показывало страницу, без передачи данных и т.д.


Ответы (1 шт):

Автор решения: S. Nick

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

PyQt — реализация фреймворка Qt для языка Python.

pip install PyQt5
pip install pyqt5-tools

Наберите в строке нужный вам адрес и нажмите Enter.

import sys
from PyQt5.QtCore import QUrl
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import (QApplication, QLineEdit, QMainWindow, 
    QPushButton, QToolBar)
from PyQt5.QtWebEngineWidgets import QWebEnginePage, QWebEngineView


class Example(QMainWindow):
    def __init__(self):
        super(Example, self).__init__()

        self.toolBar = QToolBar(self)
        self.addToolBar(self.toolBar)

        self.backBtn = QPushButton(self)
        self.backBtn.setEnabled(False)

        self.backBtn.setIcon(QIcon('images/left.png'))
        self.backBtn.clicked.connect(self.back)
        self.toolBar.addWidget(self.backBtn)

        self.forBtn = QPushButton(self)
        self.forBtn.setEnabled(False)
        self.forBtn.setIcon(QIcon('images/right.png'))

        self.forBtn.clicked.connect(self.forward)
        self.toolBar.addWidget(self.forBtn)

        self.address = QLineEdit(self)
        self.address.returnPressed.connect(self.load)
        self.toolBar.addWidget(self.address)

        self.webEngineView = QWebEngineView(self)
        self.setCentralWidget(self.webEngineView)

        self.webEngineView.page().urlChanged.connect(self.onLoadFinished)

    def onLoadFinished(self):
        if self.webEngineView.history().canGoBack():
            self.backBtn.setEnabled(True)
        else:
            self.backBtn.setEnabled(False)

        if self.webEngineView.history().canGoForward():
            self.forBtn.setEnabled(True)
        else:
            self.forBtn.setEnabled(False)

    def load(self):
        url = QUrl.fromUserInput(self.address.text())
        if url.isValid():
            self.webEngineView.load(url)

    def back(self):
        self.webEngineView.page().triggerAction(QWebEnginePage.Back)

    def forward(self):
        self.webEngineView.page().triggerAction(QWebEnginePage.Forward)

    def urlChanged(self, url):
        self.address.setText(url.toString())


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    ex.resize(640, 480)
    ex.setWindowTitle('QWebEnginePage')
    ex.show()
    sys.exit(app.exec_())

введите сюда описание изображения

→ Ссылка