Python3爬虫中Splash有什么用-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

网站设计制作过程拒绝使用模板建站;使用PHP+MYSQL原生开发可交付网站源代码;符合网站优化排名的后台管理系统;网站建设、网站制作收费合理;免费进行网站备案等企业网站建设一条龙服务.我们是一家持续稳定运营了十年的创新互联网站建设公司。

这篇文章将为大家详细讲解有关Python3爬虫中Splash有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Splash是一个JavaScript渲染服务,是一个带有HTTP API的轻量级浏览器,同时它对接了Python中的Twisted和QT库。利用它,我们同样可以实现动态渲染页面的抓取。

1. 功能介绍

·利用Splash,我们可以实现如下功能:

·异步方式处理多个网页渲染过程;

·获取渲染后的页面的源代码或截图;

·通过关闭图片渲染或者使用Adblock规则来加快页面渲染速度;

·可执行特定的JavaScript脚本;

·可通过Lua脚本来控制页面渲染过程;

·获取渲染的详细过程并通过HAR(HTTP Archive)格式呈现。

接下来,我们来了解一下它的具体用法。

2. 准备工作

在开始之前,请确保已经正确安装好了Splash并可以正常运行服务。如果没有安装,可以参考第1章。

3. 实例引入

首先,通过Splash提供的Web页面来测试其渲染过程。例如,我们在本机8050端口上运行了Splash服务,打开http://localhost:8050/即可看到其Web页面,如图7-6所示。

Python3爬虫中Splash有什么用

                                                           图7-6 Web页面

在图7-6右侧,呈现的是一个渲染示例。可以看到,上方有一个输入框,默认是http://google.com,这里换成百度测试一下,将内容更改为https://www.baidu.com,然后点击Render me按钮开始渲染,结果如图7-7所示。

Python3爬虫中Splash有什么用

                                                                  图7-7 运行结果

可以看到,网页的返回结果呈现了渲染截图、HAR加载统计数据、网页的源代码。

通过HAR的结果可以看到,Splash执行了整个网页的渲染过程,包括CSS、JavaScript的加载等过程,呈现的页面和我们在浏览器中得到的结果完全一致。

那么,这个过程由什么来控制呢?重新返回首页,可以看到实际上是有一段脚本,内容如下:

function main(splash, args)
  assert(splash:go(args.url))
  assert(splash:wait(0.5))
  return {
    html = splash:html(),
    png = splash:png(),
    har = splash:har(),
  }
end

分享标题:Python3爬虫中Splash有什么用-创新互联
文章分享:http://cdiso.cn/article/djsjei.html

其他资讯