Scrapyd部署项目爬虫

1. 新建虚拟环境(方便管理), 在虚拟环境中安装scrapy项目需要使用到的包.

mkvirualenv --python=C:\python27\scripts\python.exe scrapySpider 新建虚拟环境进入环境使用pip将所需包安装完成

打开命令行工具执行 pip install scrapyd


等待安装完成

输入scrapyd启动scrapyd服务


浏览器输入 127.0.0.1:6800


2. 如果连接成功先关闭服务, 自己在非C盘下新建一个文件夹, 名称自定义如: scrapydTest然后进入该文件夹, shift+右键, 打开命令行工具, 输入scrapyd执行, 执行完成后新建一个dbs空文件夹, 用来存放爬虫项目的数据文件


3. 安装scrapyd-client模块. scrapy-client模块是专门打包scrapy爬虫项目到scrapyd服务中的, 进入虚拟环境, 执行命令pip install scrapy-client==1.1.0, 安装完成后, 在虚拟环境的scripts中会出现scrapyd-deploy无后缀文件, 这个scrapyd-deploy无后缀文件是启动文件, 在Linux系统下可以运行, 在windows下是不能运行的, 所以我们需要编辑一下使其在windows可以运行


新建一个scrapyd-deploy.bat文件, 右键选择编辑, 输入以下配置, 注意: 两个路径之间是空格, 一定要使用双引号, 单引号的话会错误.

@echo off

"C:\Users\qianzhen\Envs\scrapySpider\Scripts\python.exe"

# 这个路径写的是你虚拟环境下配置的python.exe路径

"C:\Users\qianzhen\Envs\scrapySpider\Scripts\scrapyd-deploy" %1 %2 %3 %4 %5 %6 %7 %8 %9

# 这个路径写的是你虚拟环境的下的scrapyd-deploy路径

# 后面的%xxx必须带上

# 两个路径之间要用空格隔开


4. 进入虚拟环境, 进入到你的爬虫项目中, 进入带有scrapy.cfg文件的目录, 执行scrapyd-deploy, 测试scrapyd-deploy是否可以运行, 如果出现以下则正常


5. 打开爬虫项目中的scrapy.cfg文件, 这个文件就是给scrapyd-deploy使用的将url这行代码解掉注释, 并且设置你的部署名称


6. 再次执行scrapyd-deploy -l启动服务, 可以看到设置的名称


7. 开始打包前, 执行一个命令 scrapy list, 这个命令执行成功说明可以打包了, 如果没执行成功说明还有工作没完成

注意执行 scrapy list命令的时候很有可能出现错误, 如果是python无法找到scrapy项目, 需要再scrapy项目里的settings.py配置文件里设置成python可识别路径

# 将当前项目的一级目录TotalSpider目录添加到python可以识别目录中

BASE_DIR = os.path.dirname(os.path.abspath(os.path.dirname(__file__)))

sys.path.insert(0, os.path.join(BASE_DIR, "TotalSpider"))


如果错误提示, 什么远程计算机拒绝, 说明你的scrapy项目有链接远程计算机, 如链接数据库或者elasticsearch(搜索引擎)之类的, 需要先将链接服务器启动执行scrapy list 命令返回了爬虫名称说明一切ok了, 如下图


8. 到此我们就可以开始打包scrapy项目到scrapyd了, 用命令结合scrapy项目中的scrapy.cfg文件设置来打包


执行打包命令: scrapyd-deploy 部署名称 -p 项目名称

如: scrapyd-deploy wj -p TotalSpider

如下显示表示scrapy项目打包成功


如果出现


则是版本不对, 建议安装pip install scrapyd==1.1.1, 直到你的egg文件夹中有项目即可

cur http://localhost:6800/schedule.json -d project=项目名称 -d spider=爬虫名称

执行后, 如果出现


则爬虫运行成功

可以去网页中127.0.0.1:6800 查看爬虫运行状态


停止爬虫

curl http://localhost:6800/cancel.json -d project=scrapy项目名称 -d job=运行ID

 

删除scrapy项目

注意:一般删除scrapy项目,需要先执行命令停止项目下在远行的爬虫

curl http://localhost:6800/delproject.json -d project=scrapy项目名称

 

查看有多少个scrapy项目在api

curl http://localhost:6800/listprojects.json

 

查看指定的scrapy项目中有多少个爬虫

curl http://localhost:6800/listspiders.json?project=scrapy项目名称

 

总结几个请求url

1、获取状态

http://127.0.0.1:6800/daemonstatus.json

2、获取项目列表

http://127.0.0.1:6800/listprojects.json

3、获取项目下已发布的爬虫列表

http://127.0.0.1:6800/listspiders.json?project=myproject

4、获取项目下已发布的爬虫版本列表

http://127.0.0.1:6800/listversions.json?project=myproject

5、获取爬虫运行状态

http://127.0.0.1:6800/listjobs.json?project=myproject

 6、启动服务器上某一爬虫(必须是已发布到服务器的爬虫)

http://127.0.0.1:6800/schedule.json post方式,data={"project":myproject,"spider":myspider}

7、删除某一版本爬虫

http://127.0.0.1:6800/delversion.json

post方式,data={"project":myproject,"version":myversion}

8、删除某一工程,包括该工程下的各版本爬虫

http://127.0.0.1:6800/delproject.jsonpost方式,data={"project":myproject}

 

https://github.com/DormyMo/SpiderKeeper

一个基于flask后台框架写的scrapy爬虫监控小项目,有兴趣的同学看看



未经博主允许,不可转载!

























Scrapyd是一个基于Twisted的Python爬虫部署工具,它可以帮助我们方便地管理和部署自己编写的爬虫程序。 以下是使用Scrapyd部署爬虫的步骤: 1. 安装Scrapyd 可以使用pip命令安装Scrapyd: ``` pip install scrapyd ``` 2. 创建Scrapy项目 在命令行窗口中输入以下命令,创建Scrapy项目: ``` scrapy startproject myproject ``` 其中myproject是项目名称。 3. 创建爬虫程序 在myproject/spiders目录下创建一个爬虫程序,例如: ```python import scrapy class MySpider(scrapy.Spider): name = 'myspider' allowed_domains = ['example.com'] start_urls = ['http://www.example.com'] def parse(self, response): # 爬虫解析方法 pass ``` 这里创建了一个名为myspider的爬虫程序,它从http://www.example.com开始爬取数据。 4. 配置Scrapy项目 修改myproject/settings.py文件,添加如下配置: ```python BOT_NAME = 'myproject' SPIDER_MODULES = ['myproject.spiders'] NEWSPIDER_MODULE = 'myproject.spiders' ITEM_PIPELINES = { 'scrapy.pipelines.images.ImagesPipeline': 1 } IMAGES_STORE = 'images' ``` 这里添加了一个名为ImagesPipeline的管道,用于下载图片,并将图片保存到images目录下。 5. 打包Scrapy项目 在命令行窗口中进入Scrapy项目的根目录,使用以下命令打包Scrapy项目: ``` python setup.py sdist ``` 这时会在Scrapy项目的根目录下生成一个dist目录,其中包含了一个压缩包,例如myproject-0.1.tar.gz。 6. 部署Scrapy项目 在命令行窗口中进入Scrapy项目的根目录,使用以下命令将Scrapy项目部署Scrapyd服务器上: ``` scrapyd-deploy <target> -p <project> --version <version> ``` 其中,: - `<target>`是Scrapyd服务器的名称,例如default; - `<project>`是Scrapy项目的名称,例如myproject; - `<version>`是Scrapy项目的版本号,例如0.1。 执行此命令后,Scrapyd会自动将Scrapy项目部署Scrapyd服务器上,并生成一个新的项目版本。 7. 启动Scrapyd 在Scrapyd服务器上启动Scrapyd服务: ``` scrapyd ``` 这时可以在浏览器中访问http://localhost:6800/,查看Scrapyd服务是否正常运行。 8. 运行爬虫 使用以下命令在Scrapyd服务器上运行爬虫程序: ``` curl http://localhost:6800/schedule.json -d project=myproject -d spider=myspider ``` 其中,myproject和myspider分别为你的项目名称和爬虫程序名称。 运行此命令后,Scrapyd会在Scrapyd服务器上启动myspider爬虫程序,并开始爬取数据。在浏览器中访问http://localhost:6800/jobs,可以查看爬虫程序的运行状态。 至此,使用Scrapyd部署爬虫的步骤已经完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

她最爱橘了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值