通过Webkit可以简单解决这个问题!(附详细内容)

优采云 发布时间: 2021-04-25 06:04

  通过Webkit可以简单解决这个问题!(附详细内容)

  本文文章的内容与Python如何抓取js在网页中添加的内容(代码)有关。它具有一定的参考价值。有需要的朋友可以参考一下。希望对您有帮助。

  当我们爬行网页时,我们将使用某些规则从返回的HTML数据中提取有效信息。但是,如果网页收录JavaScript代码,则必须进行渲染处理以获取原创数据。在这一点上,如果我们仍然使用常规方法从中获取数据,那么我们将一无所获。然后,只需使用Web工具包即可解决此问题。 Web工具包可以实现浏览器可以处理的任何事情。对于某些浏览器,Web kit是基础的网页呈现工具。 Web kit是QT库的一部分,因此,如果您已经安装了QT和PyQT4库,则可以直接运行它。

  1、环境准备

  Linux:sudo apt-get install python-qt4

  Windows:

  第一步:下载.whl,地址:在这里您可以下载与不同python版本相对应的软件包。

  

  第2步:选择一个目录,将下载的文件放在该目录中,然后在cmd下,将cd放入目录中,然后执行以下命令:pip install PyQt4- 4. 1 1. 4-cp36-cp36m -win_amd6 4. whl,完成安装。

  

  第3步:验证安装是否成功。

  

  

  2、解决方案

  首先通过Web工具包发送请求信息,然后等待网页完全加载并将其分配给变量。接下来,我们使用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代码,因此我在这里不做解释。

  以上是Python如何抓取js在网页中添加的内容(代码)的详细内容。有关更多信息,请访问php中文网站和其他相关文章!

  

  免责声明:本文转载于:Blog Park,如有任何违规行为,请联系以删除

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线