爬虫利器JavaScript渲染服务Splash的使用

简介

Splash是一个使用Twisted和QT5在Python 3中实现的支持HTTP API调用的轻量级的web浏览器,它使用Twisted和QT的反射机制以使服务完全异步并通过QT主循环以便利用webkit并发性,能提供JavaScript渲染服务。

Splash 的主要功能:

  1. 支持并行处理多个页面
  2. 支持获取返回的HTML代码或者获取返回页面的截屏图片
  3. 可以通过禁止图片加载或者使用Adblock Plus插件来提高加载页面的速度
  4. 在页面的上下文中执行用户的JavaScript代码
  5. 编写lua脚本来操作浏览器
  6. 在Splash-Jupyter中支持lua脚本
  7. 在格式化的HAR 数据中获取渲染的相关细节

安装

centos + dockeer

  1. 下载 并安装 docker
  2. 拉取镜像:
    sudo docker pull scrapinghub/splash
    
  3. 启动容器:
    docker run -d -p 8050:8050 --memory=4.5G --restart=always scrapinghub/splash:3.1 --maxrss 4000 --slots 50 --max-timeout 3600
    
    –memory=4.5G 指的是 docker 在启动这个容器时可以使用的最大内存值。
    –restart=always 崩溃后自动重启。
    –maxrss 4000 指的时候 splash 进程最多能使用内存,默认单位是M。
    –slots 50 并发线程数,当同时请求数超过配置的线程数量时,请求会进去队列等待,超时时间是从spalsh收到请求之后开始计算的,所以如果请求进入队列等待,在队列里等待的时间也会被算在超时等待内。
    –max-timeout 3600 最大超时时间,单位是秒。
  4. 测试是否启动:curl http://localhost:8050/_ping

猜你喜欢

转载自blog.csdn.net/qq_20116223/article/details/113172220