爬蟲從 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)