美文网首页
python2.7配置scrapyd

python2.7配置scrapyd

作者: Py_Explorer | 来源:发表于2018-09-04 11:29 被阅读0次

    1. scrapyd的安装

    pip install scrapyd
    pip install scrapyd-client
    
    安装scrapyd-client模块。scrapyd-client模块是专门打包scrapy爬虫项目到scrapyd服务中的,进入虚拟环境,执行命令pip install scrapy-client,安装完成后,在虚拟环境的scripts中会出现scrapyd-deploy无后缀文件,这个scrapyd-deploy无后缀文件是启动文件,在Linux系统下可以远行,在windows下是不能运行的,所以我们需要编辑一下使其在windows可以运行 image.png

    新建一个scrapyd-deploy.bat文件,右键选择编辑,输入以下配置,注意:两个路径之间是空格


    image.png

    2. scrapydd的启动

    1. 命令行直接输入: scrapyd
    2. 在浏览器输入 localhost:6800,即可进入scrapyd的界面


      image.png

    3. 配置

    配置文件:C:\Python27\Lib\site-packages\scrapyd-1.1.0-py2.7.egg\scrapyd\default_scrapyd.conf

    [scrapyd]
    eggs_dir    = eggs
    logs_dir    = logs
    items_dir   = items
    jobs_to_keep = 50
    dbs_dir     = dbs
    max_proc    = 0
    max_proc_per_cpu = 4
    finished_to_keep = 100
    poll_interval = 5
    http_port   = 6800
    debug       = off
    runner      = scrapyd.runner
    application = scrapyd.app.application
    launcher    = scrapyd.launcher.Launcher
    
    [services]
    schedule.json     = scrapyd.webservice.Schedule
    cancel.json       = scrapyd.webservice.Cancel
    addversion.json   = scrapyd.webservice.AddVersion
    listprojects.json = scrapyd.webservice.ListProjects
    listversions.json = scrapyd.webservice.ListVersions
    listspiders.json  = scrapyd.webservice.ListSpiders
    delproject.json   = scrapyd.webservice.DeleteProject
    delversion.json   = scrapyd.webservice.DeleteVersion
    listjobs.json     = scrapyd.webservice.ListJobs
    

    3.1 进入虚拟环境,进入到你的爬虫项目中,进入带有scrapy.cfg文件的目录,执行scrapyd-deploy,测试scrapyd-deploy是否可以运行,如果出现以下则正常

    image.png
    3.2 打开爬虫项目中的scrapy.cfg文件,这个文件就是给scrapyd-deploy使用的,将url这行代码解掉注释,并且给设置你的部署名称
    image.png
    3.3 再次执行scrapyd-deploy -l 启动服务,可以看到设置的名称
    image.png
    3.4 开始打包前,执行一个命令:scrapy list ,这个命令执行成功说明可以打包了,如果没执行成功说明还有工作没完成
    注意执行 scrapy list 命令的时候很有可能出现错误,如果是python无法找到scrapy项目,需要在scrapy项目里的settings.py配置文件里设置成python可识别路径
    将当前项目的一级目录TotalSpider目录添加到python可以识别目录中
    BASE_DIR = os.path.dirname(os.path.abspath(os.path.dirname(file)))
    sys.path.insert(0, os.path.join(BASE_DIR, “TotalSpider”))
    image.png

    执行打包命令: scrapyd-deploy 部署名称 -p 项目名称

    如:scrapyd-deploy wj -pTotalSpider

    如下显示表示scrapy项目打包成功


    image.png

    如果显示错误,


    image.png
    请看错误总结

    curl http://localhost:6800/schedule.json -dproject=项目名称 -d spider=爬虫名称

    执行后,如果出现


    image.png

    可以去网页中127.0.0.1::6800查看爬虫运行状态


    image.png
    停止爬虫

    curl http://localhost:6800/cancel.json -dproject=scrapy项目名称 -d job=运行ID

    删除scrapy项目

    注意:一般删除scrapy项目,需要先执行命令停止项目下在远行的爬虫

    curl http://localhost:6800/delproject.json-d project=scrapy项目名称

    查看有多少个scrapy项目在api中

    curl http://localhost:6800/listprojects.json

    查看指定的scrapy项目中有多少个爬虫

    curlhttp://localhost:6800/listspiders.json?project=scrapy项目名称

    总结几个请求url

    1、获取状态

    http://127.0.0.1:6800/daemonstatus.json

    2、获取项目列表

    http://127.0.0.1:6800/listprojects.json

    3、获取项目下已发布的爬虫列表

    http://127.0.0.1:6800/listspiders.json?project=myproject

    4、获取项目下已发布的爬虫版本列表

    http://127.0.0.1:6800/listversions.json?project=myproject

    5、获取爬虫运行状态

    http://127.0.0.1:6800/listjobs.json?project=myproject

    6、启动服务器上某一爬虫(必须是已发布到服务器的爬虫)

    http://127.0.0.1:6800/schedule.json (post方式,data={"project":myproject,"spider":myspider})

    7、删除某一版本爬虫

    http://127.0.0.1:6800/delversion.json

    (post方式,data={"project":myproject,"version":myversion})

    8、删除某一工程,包括该工程下的各版本爬虫

    http://127.0.0.1:6800/delproject.json(post方式,data={"project":myproject})

    一般scrapyd可结合spiderkeeper和Gerapy两个爬虫监控。

    相关文章

      网友评论

          本文标题:python2.7配置scrapyd

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