[英]PyQt5 on Pycharm, Modules not used
編寫Python腳本來運行網頁后抓取網頁。 我意識到我需要運行JS,因為使用Requests不會返回任何數據。 我發現這里似乎是我的解決方案,但仍然存在一些問題。
首先,該教程使用PyQt4,我已經從項目解釋器安裝並嘗試了多個版本的PyQt 4和5,但仍然找不到解決方案。 以下是相關代碼:
import PyQt5.QtWebEngineWidgets
import PyQt5.QtCore
import PyQt5.QtWebEngine
import PyQt5.QtWebEngineCore
class Render(QWebpage):
def __init__(self, url):
self.app = QApplication(sys.argv)
QWebPage.__init__(self)
self.loadFinished.connect(self._loadFinished)
self.mainFrame().load(QUrl(url))
self.app.exec_()
def _load_finished(self, result):
self.frame = self.mainFrame()
self.app.quit()
QWebpage,QApplication和QUrl調用均具有“ Unresolved Reference”錯誤,四個PyQt5導入語句也均具有“ Unused Import Statement”指示。 我已經嘗試了幾個小時來解決這些問題,多次卸載並重新安裝PyQt並搜索了互聯網
任何建議都會很棒,謝謝!
您的導入不正確,在python中有很多方法可以實現:在您的情況下,您可能會像這樣:
1. from package import class
import sys
from PyQt5.QtCore import QUrl
from PyQt5.QtWebKitWidgets import QWebPage
from PyQt5.QtWidgets import QApplication
# Take this class for granted.Just use result of rendering.
class Render(QWebPage):
def __init__(self, url):
self.app = QApplication(sys.argv)
QWebPage.__init__(self)
self.loadFinished.connect(self._loadFinished)
self.mainFrame().load(QUrl(url))
self.app.exec_()
def _loadFinished(self, result):
self.frame = self.mainFrame()
self.app.quit()
url = 'http://pycoders.com/archive/'
r = Render(url)
result = r.frame.toHtml()
print(result)
import package
,然后應將每個元素用作package.class
: import sys
from PyQt5 import QtWebKitWidgets, QtCore, QtWidgets
class Render(QtWebKitWidgets.QWebPage):
def __init__(self, url):
self.app = QtWidgets.QApplication(sys.argv)
QtWebKitWidgets.QWebPage.__init__(self)
self.loadFinished.connect(self._loadFinished)
self.mainFrame().load(QtCore.QUrl(url))
self.app.exec_()
def _loadFinished(self, result):
self.frame = self.mainFrame()
self.app.quit()
url = 'http://pycoders.com/archive/'
r = Render(url)
result = r.frame.toHtml()
print(result)
如果您使用的是pycharm,有一種非常簡單的方法可以讓pycharm正確地為您導入軟件包,為此,您必須將點放在產生錯誤的單詞上方並執行Ctrl+M
注意:如果您使用的是Windows,則由於Qt和PyQt,因此將無法使用這些模塊,請使用鉻,這似乎是Windows的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.