Scrapyd的安装与部署

本文的目的在于介绍 scrapyd 的安装与使用, 为节省篇幅,scrapy 的安装与 scrapy爬虫的开发在本文不予介绍,默认已经开发完成,当然,本机的Python环境变量也是配置好的。笔者所用的环境如下:
系统:Windows 10
Python:Python 3.6.3
Scrapy:Scrapy 1.5.0

笔者使用已经编写好的scrapy爬虫来介绍 Scrapyd的使用。 
项目名称:Announcement
爬虫名称:AnnouncementSpider
项目路径:D:\Code\SpiderProject\Announcement
下面正式开始。
一、Scrapyd 的安装。
    需要安装两个组件: scrapyd  与  scrapyd-client。
    安装方法:
           1、通过pip安装,打开cmd工具,分别使用下面两个命令可以安装 scrapyd 和 scrapyd-client:
pip install scrapyd
pip install scrapyd-client
使用pip安装简单方便,但是pip源上的版本并不一定是最新版本。所以建议使用第二种方式。
          2、从 GitHub 上下载最新源码安装。下载地址:
                Scrapyd: https://github.com/scrapy/scrapyd
                Scrapyd-client: https://github.com/scrapy/scrapyd-client
                下载完成后,随便解压到某个目录(比如 D盘根目录),打开cmd工具,进入到解压的目录下:D:\scrapyd-master , 执行命令:
python setup.py install 
即可完成安装。 scrapyd-client的安装类同。 安装完成后, 可以使用 pip list 查看是否安装完成 , 也可以通过下面这种方式:
出现如图的提示时,说明scrapyd 启动成功。此时可以通过浏览器访问scrapyd的web监控页面 。

补充:scrapyd默认的配置文件在:
D:\Program Files\Python3.6.3\Lib\site-packages\scrapyd-1.2.0-py3.6.egg\scrapyd\default_scrapyd.conf


二、爬虫在scrapyd上的部署
1、进入爬虫工程的根目录:D:\Code\SpiderProject\Announcement ,修改爬虫工程的配置文件 scrapyd.cfg 。把 url 前面的“#”删除, 即使配置生效。

2、在第一步的安装过程中,已经成功启动了scrapyd ,下面就要把爬虫发布到scrapyd。
    打开cmd工具,进入爬虫项目的根目录,笔者的根目录是:D:\Code\SpiderProject\Announcement ,使用以下命令进行部署
scrapyd-deploy -p Announcement 

3、启动爬虫。爬虫的启动是使用 curl 进行的(没有安装curl的,请自行百度安装)。启动命令: 
curl http://localhost:6800/schedule.json -d project=Announcement -d spider=AnnouncementSpider
启动后,可以在浏览器中看到爬虫的运行状况:

附其它的常用命令:
启动爬虫: 
curl http://localhost:6800/schedule.json -d project=Announcement -d spider=AnnouncementSpider
终止爬虫:
curl http://localhost:6800/cancel.json -d project=Announcement -d job=7fc4b4ae42da11e89a2c3cf86207e325
jobID可以从web页面中获取。

列出工程:

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

列出爬虫:

curl http://localhost:6800/listspiders.json?project=Announcement

列出job:

curl http://localhost:6800/listjobs.json?project=Announcement

列出版本:

curl http://localhost:6800/listversions.json?project=Announcement

添加版本(网络摘取,未验证):

curl http://localhost:6800/addversion.json -F project=Announcement -F       version=r23 -F egg=@Announcement.egg

删除项目(网络摘取,未验证):

curl http://localhost:6800/delproject.json -d project=Announcement

删除版本(网络摘取,未验证):

curl http://localhost:6800/delversion.json -d project=Announcement -d version=r99
删除版本前,应先查看版本



其实,使用 scrapy crawl命令也可以执行爬虫, 为什么推荐使用scrapyd来控制呢? 原因有以下几点:

1、可以远程启动、停止、删除爬虫。也正因为此,scrapyd 是分布式爬虫的解决方案之一。
2、可以有效避免爬虫源码被别人看到。
3、有版本控制。




  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值