爬虫从 HTML 数据中提取出有效的信息。可是若是网页中含有 JavaScript 代码,网页会通过渲染处理。此时,若是咱们仍采用常规方法从中抓取数据,那么咱们将一无所得。那么,经过Web kit能够简单解决这个问题。Web kit 能够实现浏览器所能处理的任何事情。对于某些浏览器来讲,Web kit就是其底层的网页渲染工具。Web kit是QT库的一部分,在安装QT和PyQT4库后,你能够直接运行下列代码。 windows下能够下载对应的包,cmd进入对应目录进行pip install; linux下运行:sudo apt-get install python-qt4 https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyqt4
import sys from PyQt4.QtWebKit import * from PyQt4.QtGui import * from PyQt4.QtCore import * class Render(QWebPage): # 用来渲染网页,将url中的全部信息加载下来并存到一个新的框架中 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://ddbank.net/edu/mod/resource/view.php?id=707' r = Render(url) html = r.frame.toHtml() print(html)