Python3网络爬虫实战---十一、爬虫框架的安装:ScrapySplash、ScrapyRedis

上一篇文章: Python3网络爬虫实战---十、爬虫框架的安装:PySpider、Scrapy
下一篇文章: Python3网络爬虫实战---十二、部署相关库的安装:Docker、Scrapyd

ScrapySplash的安装

ScrapySplash 是一个 Scrapy 中支持 JavaScript 渲染的工具,本节来介绍一下它的安装方式。
ScrapySplash 的安装分为两部分,一个是是 Splash 服务的安装,安装方式是经过 Docker,安装以后会启动一个 Splash 服务,咱们能够经过它的接口来实现 JavaScript 页面的加载。另一个是 ScrapySplash 的 Python 库的安装,安装以后便可在 Scrapy 中使用 Splash 服务。python

1. 相关连接

2. 安装Splash

ScrapySplash 会使用 Splash 的 HTTP API 进行页面渲染,因此咱们须要安装 Splash 来提供渲染服务,安装是经过 Docker 安装,在这以前请确保已经正确安装好了 Docker。
安装命令以下:git

docker run -p 8050:8050 scrapinghub/splash

安装完成以后会有相似的输出结果:github

2017-07-03 08:53:28+0000 [-] Log opened.
2017-07-03 08:53:28.447291 [-] Splash version: 3.0
2017-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.2
2017-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: 1048576
2017-07-03 08:53:28.454258 [-] Can't bump open files limit
2017-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-profiles
2017-07-03 08:53:29.315445 [-] verbosity=1
2017-07-03 08:53:29.315629 [-] slots=50
2017-07-03 08:53:29.315712 [-] argument_cache_max_entries=500
2017-07-03 08:53:29.316564 [-] Web UI: enabled, Lua: enabled (sandbox: enabled)
2017-07-03 08:53:29.317614 [-] Site starting on 8050
2017-07-03 08:53:29.317801 [-] Starting factory <twisted.web.server.Site object at 0x7ffaa4a98cf8>

这样就证实 Splash 已经在 8050 端口上运行了。
这时咱们打开:http://localhost:8050 便可看到 Splash 的主页,如图 1-81 所示:web

clipboard.png

图 1-81 运行页面
固然 Splash 也能够直接安装在远程服务器上,咱们在服务器上运行以守护态运行 Splash 便可,命令以下:redis

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

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

3. ScrapySplash的安装

成功安装了 Splash 以后,咱们接下来再来安装一下其 Python 库,安装命令以下:segmentfault

pip3 install scrapy-splash

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

ScrapyRedis的安装

ScrapyRedis 是 Scrapy 分布式的扩展模块,有了它咱们能够方便地实现 Scrapy 分布式爬虫的搭建,本节来介绍一下 ScrapyRedis 的安装方式。服务器

1. 相关连接

2. Pip安装

推荐使用 Pip 安装,命令以下:网络

pip3 install scrapy-redis

3. 测试安装

安装完成以后,能够在 Python 命令行下测试。

$ python3
>>> import scrapy_redis

若是没有错误报出,则证实库已经安装好了。

相关文章
相关标签/搜索