Python爬取js动态添加的内容
生活随笔
收集整理的這篇文章主要介紹了
Python爬取js动态添加的内容
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
爬蟲從 HTML 數(shù)據(jù)中提取出有效的信息。但是如果網(wǎng)頁中含有 JavaScript 代碼,網(wǎng)頁會(huì)經(jīng)過渲染處理。此時(shí),如果我們?nèi)圆捎贸R?guī)方法從中抓取數(shù)據(jù),那么我們將一無所獲。那么,通過Web kit可以簡(jiǎn)單解決這個(gè)問題。Web kit 可以實(shí)現(xiàn)瀏覽器所能處理的任何事情。對(duì)于某些瀏覽器來說,Web kit就是其底層的網(wǎng)頁渲染工具。Web kit是QT庫的一部分,在安裝QT和PyQT4庫后,你可以直接運(yùn)行下列代碼。 windows下可以下載對(duì)應(yīng)的包,cmd進(jìn)入對(duì)應(yīng)目錄進(jìn)行pip install; linux下運(yùn)行: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): # 用來渲染網(wǎng)頁,將url中的所有信息加載下來并存到一個(gè)新的框架中 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)
?
轉(zhuǎn)載于:https://www.cnblogs.com/dreamyheart/p/10368031.html
總結(jié)
以上是生活随笔為你收集整理的Python爬取js动态添加的内容的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 六桂福和周大福哪个好?谁买过的?
- 下一篇: Linux 查看磁盘分区、文件系统、磁盘