【发布时间】:2019-09-21 15:40:56
【问题描述】:
我正在构建一个程序,它使用 QWebEngineView 和 QUrl 在我的 PyQt5 应用程序(在 Windows 10 上运行)中显示一个网站。但是,我现在希望能够从同一个网站下载 CSV 文件,但作为菜鸟,我似乎无法弄清楚如何。
我熟悉使用requests、urllib.request、urllib3 等来下载文件,但为此,我特别想使用 QWebEngineView 来完成,因为用户之前已经验证了请求在 pyqt5 窗口中。
首先显示网站的代码如下:
self.view = QWebEngineView(self)
self.view.load(QUrl(url))
self.view.loadFinished.connect(self._on_load_finished)
self.hbox.addWidget(self.view)
有人对如何实现这一点有任何建议吗?
【问题讨论】:
-
您可以提供网址,如有必要,还可以提供凭据。 QWebEngineView 用作浏览器,您只需点击文件即可下载
-
网站是link,但很遗憾我无法提供凭据。没有可单击的按钮,只有在我的程序中创建的 url,如果我打印它并复制并粘贴到 chrome 中,如果我已经与我的程序在同一页面上,则下载文件(有趣的是,它也会关闭选项卡,不t 显示任何内容)。我试过只做一个
.load(QUrl(url)),但它什么也没做......我想我需要以某种方式设置一个下载目录? -
好的,但是当你得到 url 时就不再需要认证了
-
我最初是这么认为的,但是如果我尝试运行
urllib.request.urlretrieve(url, "test.csv")它只会使程序崩溃(尽管该代码适用于我尝试过的图像)。 -
您指定的网页是生成下载网址还是您的脚本生成的?
标签: python pyqt pyqt5 qtwebengine qwebengineview