爬虫打包使用scrapyd scrapyd-client spi

2019-02-09  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读