Python爬取js动态添加的内容

Posted 梦i

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬取js动态添加的内容相关的知识,希望对你有一定的参考价值。

技术图片


爬虫从 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)

 






以上是关于Python爬取js动态添加的内容的主要内容,如果未能解决你的问题,请参考以下文章

怎么爬取网页的动态内容,很多都是js动态生

scrapy按顺序启动多个爬虫代码片段(python3)

Python 爬取网页中JavaScript动态添加的内容

python3 怎样爬取动态加载的网页信息

js的网页爬虫爬不到吗

python --selenium+phantomjs爬取动态页面广告源码