博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
芝麻HTTP:Scrapy-Splash的安装
阅读量:6983 次
发布时间:2019-06-27

本文共 1839 字,大约阅读时间需要 6 分钟。

hot3.png

Scrapy-Splash是一个Scrapy中支持JavaScript渲染的工具,本节来介绍它的安装方式。

Scrapy-Splash的安装分为两部分。一个是Splash服务的安装,具体是通过Docker,安装之后,会启动一个Splash服务,我们可以通过它的接口来实现JavaScript页面的加载。另外一个是Scrapy-Splash的Python库的安装,安装之后即可在Scrapy中使用Splash服务。

1. 相关链接

  • GitHub:
  • PyPI:
  • 使用说明:
  • Splash官方文档:

2. 安装Splash

Scrapy-Splash会使用Splash的HTTP API进行页面渲染,所以我们需要安装Splash来提供渲染服务。这里通过Docker安装,在这之前请确保已经正确安装好了Docker。

安装命令如下:

docker run -p 8050:8050 scrapinghub/splash

安装完成之后,会有类似的输出结果:

2017-07-03 08:53:28+0000 [-] Log opened.2017-07-03 08:53:28.447291 [-] Splash version: 3.02017-07-03 08:53:28.452698 [-] Qt 5.9.1, PyQt 5.9, WebKit 602.1, sip 4.19.3, Twisted 16.1.1, Lua 5.22017-07-03 08:53:28.453120 [-] Python 3.5.2 (default, Nov 17 2016, 17:05:23) [GCC 5.4.0 20160609]2017-07-03 08:53:28.453676 [-] Open files limit: 10485762017-07-03 08:53:28.454258 [-] Can't bump open files limit2017-07-03 08:53:28.571306 [-] Xvfb is started: ['Xvfb', ':1599197258', '-screen', '0', '1024x768x24', '-nolisten', 'tcp']QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'2017-07-03 08:53:29.041973 [-] proxy profiles support is enabled, proxy profiles path: /etc/splash/proxy-profiles2017-07-03 08:53:29.315445 [-] verbosity=12017-07-03 08:53:29.315629 [-] slots=502017-07-03 08:53:29.315712 [-] argument_cache_max_entries=5002017-07-03 08:53:29.316564 [-] Web UI: enabled, Lua: enabled (sandbox: enabled)2017-07-03 08:53:29.317614 [-] Site starting on 80502017-07-03 08:53:29.317801 [-] Starting factory 

这样就证明Splash已经在8050端口上运行了。这时我们打开,即可看到Splash的主页,如图1所示。

                                            图1 运行页面

当然,Splash也可以直接安装在远程服务器上。我们在服务器上以守护态运行Splash即可,命令如下:

docker run -d -p 8050:8050 scrapinghub/splash

这里多了-d参数,它代表将Docker容器以守护态运行,这样在中断远程服务器连接后,不会终止Splash服务的运行。

3. Scrapy-Splash的安装

成功安装Splash之后,接下来再来安装其Python库,命令如下:

pip3 install scrapy-splash

命令运行完毕后,就会成功安装好此库,后面会详细介绍它的用法。

转载于:https://my.oschina.net/u/3720876/blog/1620922

你可能感兴趣的文章
警惕!MySQL成数据勒索新目标
查看>>
linux系统学习第一天
查看>>
eclipse的安卓开发插件『ADT』在线安装不成功的解决方案
查看>>
第12章,网络管理(下)网络基础配置
查看>>
DTU是什么 DTU种类及应用领域分析
查看>>
基于Zynq-7000高速数据采集解决方案
查看>>
【VMware vSAN 6.6】5.2.运行状况:我们有软硬件项目解决方案
查看>>
细数iOS上的那些安全防护
查看>>
tar命令常用参数解释
查看>>
SourceTree跳过Atlassian账号,免登陆,跳过初始设置
查看>>
刷屏的海底捞超级APP究竟是怎样与阿里云合作的
查看>>
redhat linux 访问控制
查看>>
DNS--1--基础概念
查看>>
万能的model数据选择列表
查看>>
FreeCodeCamp:Return Largest Numbers in Arrays
查看>>
C#接口
查看>>
nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
查看>>
敏捷开发团队管理系列之一:序言与出发点
查看>>
挂载磁盘出错
查看>>
Git详解之三 Git分支
查看>>