Python 使用PyQt呈现HTML时的代理
我希望使用这段代码来抓取JavaScript驱动的页面,这段代码已经出现在许多以前的线程中(c.f.和其他非现场线程中): 很好用 我的问题是我是否需要为这部分代码使用代理(假设我通常希望为所有网络活动使用代理) 我正在使用urllib.request和一个代理来访问有问题的站点,然后将html从那里传递到PyQt5以执行JavaScript mambo。旅程的第二段是否涉及一个需要代理验证的网络连接?如果是这样的话,我应该如何修改这段代码——直到今天我才接触到PyQt,感觉有点不知所措 使用Python3.5和Windows7 非常感谢Python 使用PyQt呈现HTML时的代理,python,python-3.x,web-scraping,pyqt,pyqt5,Python,Python 3.x,Web Scraping,Pyqt,Pyqt5,我希望使用这段代码来抓取JavaScript驱动的页面,这段代码已经出现在许多以前的线程中(c.f.和其他非现场线程中): 很好用 我的问题是我是否需要为这部分代码使用代理(假设我通常希望为所有网络活动使用代理) 我正在使用urllib.request和一个代理来访问有问题的站点,然后将html从那里传递到PyQt5以执行JavaScript mambo。旅程的第二段是否涉及一个需要代理验证的网络连接?如果是这样的话,我应该如何修改这段代码——直到今天我才接触到PyQt,感觉有点不知所措 使用P
import sys
from PyQt5.QtCore import QEventLoop
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWebEngineWidgets import QWebEngineView
def render(source_html):
class Render(QWebEngineView):
def __init__(self, html):
self.html = None
self.app = QApplication(sys.argv)
QWebEngineView.__init__(self)
self.loadFinished.connect(self._loadFinished)
self.setHtml(html)
while self.html is None:
self.app.processEvents(QEventLoop.ExcludeUserInputEvents | QEventLoop.ExcludeSocketNotifiers | QEventLoop.WaitForMoreEvents)
self.app.quit()
def _callable(self, data):
self.html = data
def _loadFinished(self, result):
self.page().toHtml(self._callable)
return Render(source_html).html