Python 应用 - 制作简易浏览器

需求:把网站弄成独立程序样式(奇葩想法暂且不管)

解决方案:制作一个简易浏览器,再打包成exe程序

难点:PyQt5版本过高,PyQtWebEngine缺失,解决直接安装(有时会安装失败,多弄几次)

pip install PyQtWebEngine

完成程序:

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtWebEngineWidgets import QWebEngineView
from rw_ini import read_config

# 创建主窗口
class MainWindow(QMainWindow):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        rc = read_config("browser.ini")
        browser_name = rc.get("browser", "name", fallback="chrome")
        window_width = rc.get("browser", "window_width", fallback=None)
        window_height = rc.get("browser", "window_height", fallback=None)
        command_executor = rc.get("grid", "command_executor", fallback="http://www.baidu.com")

        # 设置窗口标题
        self.setWindowTitle(browser_name)
        # 设置窗口大小1300*600
        self.resize(int(window_width), int(window_height))
        self.show()

        self.webview = WebEngineView(self)
        self.webview.load(QUrl(command_executor))
        self.setCentralWidget(self.webview)

# 创建浏览器
class WebEngineView(QWebEngineView):
    windowList = []
    # 重写createwindow()
    def createWindow(self, QWebEnginePage_WebWindowType):
        new_webview = WebEngineView()
        new_window = MainWindow()
        new_window.setCentralWidget(new_webview)
        # new_window.show()
        self.windowList.append(new_window)  # 注:没有这句会崩溃!!!
        return new_webview

# 程序入口
if __name__ == "__main__":
    app = QApplication(sys.argv)
    # 创建主窗口
    browser = MainWindow()
    browser.show()
    # 运行应用,并监听事件
    sys.exit(app.exec_())

配置文件(读取配置文件方法前面文章有过介绍):

[local]
local_browser = False
wait_time = 10

[browser]
name = xxx系统
window_width = 1300
window_height = 600

[grid]
command_executor = http://www.baidu.com
headless = False

运行效果:

 打包exe又出现问题,找不到QtWebEngineProcess.exe路径

解决办法:

1.dist\browser\PyQt5\Qt\bin和dist\browser\PyQt5\Qt\resources两个目录下的文件复制到dist\browser目录下

2.再把dist\browser目录打包成安装包

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
制作一个简易浏览器,你可以使用Python语言及其相关的第三方库。以下是一些基本步骤: 1. 安装Python:首先,你需要安装Python。你可以从官方网站(https://www.python.org/downloads/)下载Python并安装在你的计算机上。 2. 安装第三方库:你需要安装一些第三方库,以便在Python中处理网络连接和HTML文档。其中一些库包括:requests、beautifulsoup4、lxml等。你可以使用pip工具来安装它们。在终端中输入以下命令来安装它们: ``` pip install requests pip install beautifulsoup4 pip install lxml ``` 3. 获取用户输入:你需要获取用户想要访问的网站的URL。你可以使用Python的input()函数或GUI库(如Tkinter)来获取用户输入。 4. 发送网络请求:使用requests库向用户输入的URL发送请求。请求的响应将包含HTML文档。 5. 解析HTML文档:使用beautifulsoup4和lxml库解析HTML文档。可以使用这些库来查找和提取所需的信息。 6. 显示结果:最后,你需要以一种可视化的方式显示结果。你可以使用Python的GUI库(如Tkinter)来创建一个简单的浏览器窗口,并在其中显示结果。你可以使用webview库或Tkinter库来实现浏览器窗口的创建。 下面是一个简单的示例代码,它使用Tkinter库实现了一个简单的浏览器窗口: ``` from tkinter import * import requests from bs4 import BeautifulSoup def get_html(url): # 发送网络请求 response = requests.get(url) # 获取网页内容 html = response.text return html def display_html(html): # 创建浏览器窗口 root = Tk() root.title("My Browser") # 创建文本框 text = Text(root) text.pack() # 在文本框中显示网页内容 text.insert(END, html) # 进入消息循环 mainloop() if __name__ == '__main__': # 获取用户输入的URL url = input("请输入网页地址:") # 获取网页内容 html = get_html(url) # 显示结果 display_html(html) ``` 这只是一个非常基本的示例,你可以根据自己的需求进行修改和扩展。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值