98300

查看: 33|回复: 0

Deepin15.5安装Scrapy-Splash

[复制链接]
  • TA的每日心情
    擦汗
    2019-9-22 20:46
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    601

    主题

    601

    帖子

    2516

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    2516
    QQ
    发表于 2019-9-16 22:21:18 | 显示全部楼层 |阅读模式
    Scrapy-Splash是一个Scrapy中支持JavaScript渲染的工具,安装部分有两部分:

    一个是Splash服务的安装,通过Docker进行安装,安装之后,会启动一个Splash服务,我们可以通过它的接口实现JavaScript页面的加载。

    另外一个是Scrapy-Splash的Python库的安装,安装之后即可在Scrapy中使用Splash服务。

    1、docker的安装在前面已经有说过

    具体安装docker的办法请参考:Deepin15.5系统安装新版本的docker

    2、安装Splash

    Scrapy-Splash会使用Splash的HTTP API 进行页面渲染,所以我们需要安装Splash来提供渲染服务,安装命令如下:
    1. zhj@zhj-PC:~$ sudo docker run -p 8050:8050 scrapinghub/splash
    复制代码
    然后会有类似的信息如下:
    1. Unable to find image 'scrapinghub/splash:latest' locally
    2. latest: Pulling from scrapinghub/splash
    3. 1be7f2b886e8: Pull complete
    4. 6fbc4a21b806: Pull complete
    5. c71a6f8e1378: Pull complete
    6. 4be3072e5a37: Pull complete
    7. 06c6d2f59700: Pull complete
    8. ba70d52f4d83: Pull complete
    9. e9f7760ce7af: Pull complete
    10. 16259f7c35ad: Downloading [=====>                                             ]  42.82MB/393.1MB
    11. efb2fb9620cf: Download complete
    12. 31e4491cc70e: Download complete
    复制代码
    我们等着安装完成。

    3、如果有下面提示,则说明已经启动成功:
    1. Status: Downloaded newer image for scrapinghub/splash:latest
    2. 2018-05-26 02:15:46+0000 [-] Log opened.
    3. 2018-05-26 02:15:46.979464 [-] Splash version: 3.2
    4. 2018-05-26 02:15:46.980038 [-] Qt 5.9.1, PyQt 5.9, WebKit 602.1, sip 4.19.3, Twisted 16.1.1, Lua 5.2
    5. 2018-05-26 02:15:46.980184 [-] Python 3.5.2 (default, Nov 23 2017, 16:37:01) [GCC 5.4.0 20160609]
    6. 2018-05-26 02:15:46.980286 [-] Open files limit: 1048576
    7. 2018-05-26 02:15:46.980370 [-] Can't bump open files limit
    8. 2018-05-26 02:15:47.157515 [-] Xvfb is started: ['Xvfb', ':1499295518', '-screen', '0', '1024x768x24', '-nolisten', 'tcp']
    9. QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
    10. 2018-05-26 02:15:50.057791 [-] proxy profiles support is enabled, proxy profiles path: /etc/splash/proxy-profiles
    11. 2018-05-26 02:15:50.758159 [-] verbosity=1
    12. 2018-05-26 02:15:50.758356 [-] slots=50
    13. 2018-05-26 02:15:50.758632 [-] argument_cache_max_entries=500
    14. 2018-05-26 02:15:50.759391 [-] Web UI: enabled, Lua: enabled (sandbox: enabled)
    15. 2018-05-26 02:15:50.759560 [-] Server listening on 0.0.0.0:8050
    16. 2018-05-26 02:15:50.760507 [-] Site starting on 8050
    17. 2018-05-26 02:15:50.760715 [-] Starting factory
    复制代码
    4、然后我们使用浏览器测试一下

    http://localhost:8050

    如下图:
    %E6%B7%B1%E5%BA%A6%E6%88%AA%E5%9B%BE_%E9%80%89%E6%8B%A9%E5%8C%BA%E5%9F%9F_20180526103851-1024x497.png

    到此已经安装成功。

    5、如果我们让Splash的docker安装在远程服务器上(因为刚才的启动方式,如果关闭掉终端,或者中断了,则Splash也停止了),并且以守护进程运行,则执行下面的命令;
    1. zhj@zhj-PC:~$ sudo docker run -d -p 8050:8050 scrapinghub/splash

    2. f990a7e8474d412e0075d25152a5c97a92b8f32b01fd46ac0080e35c085b455f
    复制代码
    这里加了一个-d参数,则表明,以守护进程运行,具体docker命令,可以查看官方手册。


    6、Scrapy-Splash的安装
    安装完Splash后,我们需要安装Python库,命令如下:

    1. zhj@zhj-PC:~$ sudo pip3 install scrapy-splash
    复制代码
    则有下面的提示,表示安装成功
    1. Collecting scrapy-splash
    2.   Downloading https://files.pythonhosted.org/packages/64/19/aa6e9559ca16a4daec98f6451748dd1cae9a91e7f43069cc1d294f7576bc/scrapy_splash-0.7.2-py2.py3-none-any.whl
    3. Installing collected packages: scrapy-splash
    4. Successfully installed scrapy-splash-0.7.2
    复制代码


    到此为止已经安装成功;
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋| 98300.NET

    GMT+8, 2019-10-18 22:06 , Processed in 0.104113 second(s), 9 queries , MemCache On.

    Powered by Discuz! X

    © 2015-2016 98300.NET

    快速回复 返回顶部 返回列表