美文网首页
scrapyd+gerapy部署分布式爬虫及scrapyd-de

scrapyd+gerapy部署分布式爬虫及scrapyd-de

作者: 越大大雨天 | 来源:发表于2019-08-20 10:07 被阅读0次

    今天尝试在windows中使用scrapyd+gerapy部署爬虫

    首先需要部署scrapyd完成部署

    先安装以下两个包:

    • scrapyd服务:pip install scrapyd
    • scrapyd客户端:pip install scrapyd-client
      然后就可以在scrapy项目的路径下使用scrapyd命令启动scrapyd的监控界面。

    再编辑scrapy项目根目录下的scrapy.cfg文件如下:

    [settings]
    default = JD.settings
    # :号后自定义部署名
    [deploy:JD_book]
    # scrapyd运行的服务器地址,此处为本地的6800端口
    url = http://localhost:6800/
    # 项目名
    project = JD
    

    实际使用时需要把#号的注释全部删除。
    配置完成后就可以部署爬虫应用了
    使用命令:scrapyd-deploy 部署名(配置文件中设置的名称) -p 项目名称 即可,对应的我的命令为:scrapyd-deploy JD_book -p JD

    但此时出现了报错:

    'scrapyd-deploy' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    解决办法如下:

    在python安装目录的scripts目录中,添加scrapyd-deploy.bat文件,内容包含你的python.exe路径和scripts目录中的scrapyd-deploy路径,我的编辑内容如下:

    @echo off
     
    "C:\Users\woyue\AppData\Local\Programs\Python\Python36\python.exe" "C:\Users\woyue\AppData\Local\Programs\Python\Python36\Scripts\scrapyd-deploy" %1 %2 %3 %4 %5 %6 %7 %8 %9
    

    如果你也有相同问题,只需将如上中的两个路径替换为你本机中的路径即可解决。
    重新运行scrapyd-deploy -h命令检查,发现已经可以顺利运行了。

    然后使用gerapy部署

    使用gerapy部署更加便于操作和管理,不需要使用curl命令或者requests模块请求API接口来启动或暂停爬虫程序。
    部署gerapy方法如下:

      1. 安装:pip install gerapy
      1. 执行 gerapy init命令,在指定目录中初始化gerapy项目文件夹
      1. 进入生成的gerapy/projects目录下,执行gerapy migrate命令,完成数据库迁移,使用的是SQLite数据库。
      1. 执行gerapy runserver命令,启动gerapy服务,默认将在
        127.0.0.1:8000端口运行主机管理和界面管理服务,在浏览器中访问该端口即可。
        image.png
      1. 点击create添加新的scrapyd主机
    image.png
      1. 添加scrapyd成功后,点击Clients中调度-运行即可直接俄运行爬虫程序,你可以点击多次run运行多个分布式爬虫实例
        图为正在gerapy上运行的爬虫程序:
    image.png
      1. 项目管理
        直接将爬虫的scrapy项目文件夹拷贝到之前创建的gerapy/projects目录中,然后进入项目管理界面,即可看到已经显示了此项目文件。点击部署-添加描述-打包即可直接完成打包和部署。管理多个远程爬虫项目十分方便。

    相关文章

      网友评论

          本文标题:scrapyd+gerapy部署分布式爬虫及scrapyd-de

          本文链接:https://www.haomeiwen.com/subject/srwysctx.html