从简单的scrapy项目到scrapyd管理以及SpiderKeeper可视化工具


目录


  • 安装环境:

环境:windows、python3.6

pip3 install scrapyd-client

pip3 install scrapyd

官方文档:http://scrapyd.readthedocs.org/

pip3 install SpiderKeeper

  • 部署scrapy项目

scrapy startproject 项目名
在工作目录下输入这个命令、就可以开启简单的scrapy之旅了、由于本文主要是进行scrapy爬虫管理不在编写爬虫。

  • scrapyd来管理

1、命令行scrapyd、开启scrapyd服务、127.0.0.1:6800进入可视化界面

2、配置scrapy项目下的scrapy.cfg
    2.1、把原先注释掉的url那一行取消注释,这个就是我们要部署到目标服务器的地址。
    2.2、把[deploy]这里改为[deploy:demo],这里是命名为demo,命名可以任意怎么都可以,只要能标识出来项目就可以。
    2.3、通过scrapyd-deploy来将项目打包部署。
         有两种方法:
         方法一:
            在 C:\Users\username\AppData\Local\Programs\Python\Python36\Scripts下新建文件scrapyd-deploy.bat
如下:
-------------------------------------------------------------------------------------------
@echo off
"C:\Users\username\AppData\Local\Programs\Python\Python36\python.exe" "C:\Users\username\AppData\Local\Programs\Python\Python36\Scripts\scrapyd-deploy" %1 %2 %3 %4 %5 %6 %7 %8 %9
-------------------------------------------------------------------------------------------
         方法二:
            将scrapyd-deploy复制到scrapy项目目录下使用 python scrapyd-deploy demo -p xinlang同样可以。

未在scrapy项目的目录下

打包部署命令可以用

打包部署成功、前提是scrapyd服务打开中

Tip:OK、到这一步这个项目已经部署上去、具体细节参见[1]、下面就是一些scrapyd的API的使用。
# -*- coding: utf-8 -*-
import requests

ip = 'localhost'
port = 6800

def schedule(project, spider):
    url = f'http://{ip}:{port}/schedule.json'
    # url = 'http://{}:{}/schedule.json'.format(project, spider)
    params = {
        "project": project,
        "spider": spider
        # '_version': version
    }
    r = requests.post(url, data=params)

    return r.json()

def listjobs(project):
    url = f'http://{ip}:{port}/listjobs.json?project={project}'
    r = requests.get(url)
    return r.json()

def cancel(project, job):
    url = f'http://{ip}:{port}/cancel.json?project={project}&job={job}'
    r = requests.post(url)
    return r.json()

if __name__ == '__main__':
    # 部署命令: python scrapyd-deploy 127 -p lianjia --version v108
    project = 'lianjia'
    crawler_name = 'lj_crawler'
    # 启动项目
    # schedule(project, crawler_name)
    
    # # 获取所有jobs
    # j = listjobs(project)
    # print(j)

    # 停止项目
    job = '43b1441a3ff211e8825f58fb8457c654'
    j = cancel(project, job)
    print(j)
--------------------- 
作者:月月吃土 
来源:CSDN 
原文:https://blog.csdn.net/weixin_39679004/article/details/83023948 
版权声明:本文为博主原创文章,转载请附上博文链接!

 

  • SpiderKeeper管理

  • 其实不止SpiderKeeper这个API优化、还有其他的比如scrapydweb详细见 [4]Scrapy可视化管理管理工具总结
1、spiderkeeper打开服务、访问localhost:5000可以看到可视化界面
2、发布项目需要在scrapy项目下“生蛋”、使用下面命令、然后将这个output.egg上传即可
-------------------------------------------------------------------------------------------

scrapyd-deploy --build-egg output.egg

-------------------------------------------------------------------------------------------
[5]scrapy可视化管理工具spiderkeeper使用笔记 有更详细的使用

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值