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

若是沒有錯誤報出,則證實庫已經安裝好了。

相關文章
相關標籤/搜索