nodejs抓取动态网页(Webkit可以简单解决这个问题!(附详细教程))

优采云 发布时间: 2022-04-13 17:26

  nodejs抓取动态网页(Webkit可以简单解决这个问题!(附详细教程))

  2021-10-11

  当我们进行网络爬取时,我们会使用一定的规则从返回的 HTML 数据中提取有效信息。但是如果网页收录 JavaScript 代码,我们必须渲染它以获取原创数据。在这一点上,如果我们仍然以通常的方式从中抓取数据,我们将一无所获。嗯,这个问题可以通过Web kit轻松解决。Web 工具包可以做任何浏览器可以处理的事情。对于某些浏览器,Web kit 是底层的网页渲染工具。Web kit 是 QT 库的一部分,所以如果你已经安装了 QT 和 PyQT4 库,你可以直接运行它。

  1、环境准备

  Linux:sudo apt-get install python-qt4

  视窗:

  2、使用

  首先通过Web kit发送请求信息,然后等待页面加载完毕再赋值给一个变量。接下来我们使用 lxml 从 HTML 数据中提取有效信息。这个过程需要一点时间。

  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://jandan.net/ooxx'

r = Render(url)

html = r.frame.toHtml()

print(html)

  然后,接下来的工作就是解析HTML代码了,这里就不解释了。

  分类:

  技术要点:

  相关文章:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线