美文网首页礼尚往来
使用crapyd部署scrapy项目

使用crapyd部署scrapy项目

作者: 不思九八 | 来源:发表于2019-12-24 22:07 被阅读0次

    安装

    安装服务器:

    pip install scrapyd

    安装客户端:

    pip install scrapyd-client

    验证服务器是否正确安装,运行命令:scrapyd, 出现以下结果就说明安装成功:

    scrpyd运行成功

    scrapyd提供了一个简单的页面,在浏览器中打开链接``,可以看到下图所示内容:

    scrpyd web 页面

    验证客户端安装是否正确,cd到爬虫项目更目录下,运行命令:scrapyd-deploy, 如看到提示“Unknown target: default”,说明安装成功。

    如果是windows系统,应该不会成功,需要再Python安装目录是Scripts目录下添加一个scrapyd-deploy.bat文件,文件内容大致如下:

    "D:\Program Files\Python37\python.exe" "D:\Program Files\Python37\Scripts\scrapyd-deploy" %*

    再次运行命令应可成功。

    配置

    打开scrapy.cfg文件,修改成以下的样子

    [deploy:myspiders]
    url = http://localhost:6800/
    project = douban
    
    • myspiders:服务器名称,随意指定一个。
    • url:去掉注释,根据实际情况修改

    本文所有命令和配置基于一个名称为douban的项目,项目下有一个spider名为qingyunian

    发布和运行

    首先确保scrapyd服务已经开启。

    进入scrapy项目根目录,运行以下命令,将爬虫程序部署到服务器:

    scrapyd-deploy myspiders -p douban
    
    

    运行结果:如果看到以下结果,说明部署成功。

    Packing version 1577194797
    Deploying to project "douban" in http://localhost:6800/addversion.json
    Server response (200):
    {"node_name": "DESKTOP-STG57IJ", "status": "ok", "project": "douban", "version": "1577194797", "spiders": 1}
    

    使用curl命令,调用scrapyd提供的api,运行爬虫任务:

    curl http://localhost:6800/schedule.json -d project=douban -d spider=qingyunian
    

    不出意外,应能看到如下所示的返回信息。

    {"node_name": "DESKTOP-STG57IJ", "status": "ok", "jobid": "f358c982265211eaa721fcaa14e6b15e"}
    

    访问scrapyd的Jobs页面,此时可以看到一条已经执行完毕的记录,如下图所示,点击log,可以查看运行日志,日志内容与在命令行执行爬虫程序的是一样的。


    已完成的scrapy任务

    相关文章

      网友评论

        本文标题:使用crapyd部署scrapy项目

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