美文网首页
二、如何快速部署Scrapy项目

二、如何快速部署Scrapy项目

作者: 尤利西斯U | 来源:发表于2019-04-08 20:44 被阅读0次

    Scrapy项目发布后是在scrapyd创建的web服务器里运行,所以需要安装和运行scrapyd,然后把scrapy项目部署到这个web服务器。而scrapyd运行在python虚拟机上,所以首先需要创建Python虚拟环境。 本例是继续上一篇把<<用Scrapy框架开发爬虫之一>>的项目部署到scapyd.

    你的Scrapy项目能够在PyCharm环境里运行,应该已经有设定好的Python虚拟环境,可以通过 Preferences... 菜单项查看,如下图所示


    Python虚拟环境

    请注意你项目的Python虚拟机的路径,因为我们要进入这个路径,在命令行激活Python虚拟环境,当然也可使用PyCharm内嵌的终端,如下图所示


    PyCharm内嵌终端

    这里使用PyCharm内嵌的终端,可以通过图中的➕号,增加终端的个数。

    1、检查命令pip list是否安装scrapyd,如没有安装,用命令pip install scrapyd进行安装,安装完毕,再使用pip list检查,是否有scrapyd,如下图所示:

    图1-1

    2、检测爬虫是否正确
    运行命令:scrapy list 检查你编写的爬虫是否如下图列出来,

    (SpiderEnv) ➜  mini_scrapy git:(master) ✗ scrapy list
    quotes
    

    如果没有请检查settings.py里是否有

    SPIDER_MODULES = ['mini_scrapy.spiders']
    NEWSPIDER_MODULE = 'mini_scrapy.spiders'
    

    3、修改scrapy.cfg
    回到scrapy项目IDE环境,打开scrapy.cfg, 打开url注释,在deploy后冒号记一个任意标记,例如:mini

    [settings]
    default = mini_scrapy.settings
    
    [deploy:mini]
    url = http://localhost:6800/
    project = mini_scrapy
    

    4、启动Web服务器
    首先随便创建一个目录,如test,然后到该目录运行 scrapyd 命令,正确运行后打开浏览器,访问http://localhost:6800看是否正常访问,后续的项目就会发布到这里web容器中。以下是在Mac上做的实验:

    (SpiderEnv) ➜  mini_scrapy git:(master) ✗ pwd
    /Users/xiaoyongwang/mini_scrapy
    (SpiderEnv) ➜  mini_scrapy git:(master) ✗ cd ~/Desktop
    (SpiderEnv) ➜  Desktop pwd
    /Users/xiaoyongwang/Desktop
    (SpiderEnv) ➜  Desktop mkdir test 
    (SpiderEnv) ➜  Desktop cd test
    (SpiderEnv) ➜  test scrapyd
    2019-04-08T20:21:55+0800 [-] Loading /Users/xiaoyongwang/Robot/SpiderEnv/lib/python3.7/site-packages/scrapyd/txapp.py...
    2019-04-08T20:21:56+0800 [-] Scrapyd web console available at http://127.0.0.1:6800/
    2019-04-08T20:21:56+0800 [-] Loaded.
    2019-04-08T20:21:56+0800 [twisted.scripts._twistd_unix.UnixAppLogger#info] twistd 18.7.0 (/Users/xiaoyongwang/Robot/SpiderEnv/bin/python 3.7.2) starting up.
    2019-04-08T20:21:56+0800 [twisted.scripts._twistd_unix.UnixAppLogger#info] reactor class: twisted.internet.selectreactor.SelectReactor.
    2019-04-08T20:21:56+0800 [-] Site starting on 6800
    

    访问http://localhost:6800

    Web界面

    5、部署
    在PyCharm里再开一个终端,运行如下命令,

    scrapyd-deploy mini -p mini_scrapy
    

    如图所示:


    tt2.png

    打包自动发布到第4步的创建的目录下
    如果出现ModuleNotFoundError: No module named错误,请在工程的spiders下追加空的init.py文件即可

    6、使用curl命令检查成果
    例如通过调用如下curl命令,运行quotes爬虫。
    例如:

    curl http://localhost:6800/schedule.json -d project=mini_scrapy -d spider=quotes
    

    可以通过这个链接查看并参考更多的scrapyd命令

    至此,通过上述6个步骤,就把scrapy项目部署到了scrapyd,当然在windows或linux平台步骤或许有点差异,但原理和步骤基本相同。

    相关文章

      网友评论

          本文标题:二、如何快速部署Scrapy项目

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