美文网首页
爬虫打包使用scrapyd scrapyd-client spi

爬虫打包使用scrapyd scrapyd-client spi

作者: 庚鑫鑫 | 来源:发表于2019-02-09 23:21 被阅读0次

    1,安装:

    pip3 install scrapyd

    pip3 install spiderkeeper

    本地安装:

    pip3 install scrapyd-client

    2,服务器上的操作:

    在linux中使用指令 find / -name default_scrapyd.conf,找出其具体位置 然后 vim修改

    bind_address = 0.0.0.0 才可以外网访问 。另外阿里云服务器的安全组入口配置5000(spiderkeeper),6800(scrapyd)端口可以访问才可以。

    后台启动运行

    $ nohup scrapyd &

    $ nohup spiderkeeper & 

    (默认账户密码:admin,admin

    如果使用多台服务器配置:spiderkeeper --server=http://ip:6800 --server=http://ip:6800)

    3,客户端操作

        a,本地代码同步到服务器上

        b,修改scrapy.cfg 

            [settings]

            default =imageSpider.settings

            [deploy:myspider]

            url =http://服务器ip:6800/

            project =imageSpider

    c, scrapyd-deploy myspider -p imageSpider 部署到服务器 

        curl http://服务器ip:6800/schedule.json -d project=imageSpider -d spider=rssi 运行爬虫,测试一下

        然后即可在http://服务器ip:6800/jobs查看调度结果了

    d,在项目目录下输入scrapyd-deploy --build-egg output.egg生成egg文件

    e,在spiderkeeper网页中一次点击Manager-Createproject,创建项目,把上一步生成的egg文件传进去,就OK了,现在你可以在浏览器管理你服务器上的scrapy了,有启动,停止,定时启动,查看日志等功能

    错误:

    scrapyd schedule job 时, 遇到错误 TypeError: init() got an unexpected keyword argument '_job' , 需要在spider的__init__方法里添加 **kwargs 参数    

    进入项目spiders目录, 修改testspider.py 文件里__init__ 方法即可: def init(self, **kwargs):

    ├── init.py ├── items.py ├── pipelines.py ├── settings.py └── spiders ├── testspider.py

    相关文章

      网友评论

          本文标题:爬虫打包使用scrapyd scrapyd-client spi

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