Python3—scrapyd服务部署爬虫项目

本文介绍如何使用Scrapyd服务部署Python爬虫项目,包括安装配置、启动服务、部署及管理爬虫等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                      Python3—scrapyd服务部署爬虫项目

注意:Python2.7和Python3的配置不同,注意区分!!

目录

                      Python3—scrapyd服务部署爬虫项目

一、需要安装scrapyd==2.0  scrapyd-client==2.0a1

二、启动scrapyd服务

三、配置爬虫项目(scrapy.cfg文件中配置)

四、开始向scrapyd中部署项目

4.1、新打开cmd窗口执行命令!

4.2、进入scrapy:workon  scrapy的名字

4.3、进入需要部署的项目根目录:cd 根目录地址

4.4、通过scrapyd-deploy命令测试scrapyd-deploy是否可用。

4.5、查看当前可用于部署到scrapyd服务中的爬虫有哪些。

4.6、命令scrapy list用来查看当前项目中,可用的爬虫。

4.7、列举scrapyd服务中已经部署的爬虫项目:

4.8、上传项目(重点):

4.9、查询当前项目中的爬虫个数

4.10、启动爬虫

4.11、关闭(取消)爬虫

4.12、打包爬虫项目到scrapyd服务(打包后)——同4.8(文档多做了一步!!!)

4.13、注意浏览器中查看(scrapyd提供了一个查看界面!)

4.14、其他操作api(删除项目),查看官方文档


一、需要安装scrapyd==2.0  scrapyd-client==2.0a1

命令:pip install scrapyd==1.2.0   pip install scrapyd-client==1.2.0a1

 

注意:如何查询最新版本 ==后面输入一个没有的版本运行,会报错同时会提示不同的版本!!

运行安装后,查看:

二、启动scrapyd服务

启动后不要关闭,要基于scrapyd服务来运行后面的部署和爬虫。(后面的命令新打开cmd窗口!!)

三、配置爬虫项目(scrapy.cfg文件中配置)

四、开始向scrapyd中部署项目

 

4.1、新打开cmd窗口执行命令!

4.2、进入scrapy:workon  scrapy的名字

4.3、进入需要部署的项目根目录:cd 根目录地址

4.4、通过scrapyd-deploy命令测试scrapyd-deploy是否可用。

命令:scrapyd-deploy

4.5、查看当前可用于部署到scrapyd服务中的爬虫有哪些。

命令:scrapyd-deploy -l

参数1: [deploy: jobbole]

参数2: scrapy.cfg文中中的url

4.6、命令scrapy list用来查看当前项目中,可用的爬虫。

命令:scrapy list

可能会报错:

 

4.7、列举scrapyd服务中已经部署的爬虫项目:

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

两种情况:没有项目 ,  有项目

注意:cmd运行时可能会报错——curl不是内部文件..,解决方式网址:

https://www.cnblogs.com/zhuzhenwei918/p/6781314.html(依照操作下载解压缩到相应的位置如下图,配置就OK!)

 

4.8、上传项目(重点):

命令:scrapyd-deploy jobbole –p bole

注意:区分两个名字;自定义上传后的名字是后面主要使用的!

status: 上传至scrapyd的状态
project: 上传的项目名称
version: 此次上传项目的版本号,因为项目可以多次打包上传,每次上传都会有不同的版本号
spiders: 该项目中包含的爬虫个数

 

4.9、查询当前项目中的爬虫个数

命令:curl http://localhost:6800/listspiders.json?project=bole

注意:结果中的名字是一个爬虫文件有多个爬虫项目name=’   ’中的名字!!

 

4.10、启动爬虫

命令:curl http://localhost:6800/schedule.json -d project=bole -d spider=bole

 

 

4.11、关闭(取消)爬虫

命令:curl http://localhost:6800/cancel.json -d project=bole -d job=53cf9f428a6911e88b11005056c00008

 

 

上述几步可能会有一个错误如下图(尝试下面的解决办法!!):

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

 

4.12、打包爬虫项目到scrapyd服务(打包后)——同4.8(文档多做了一步!!!)

命令:scrapyd-deploy jobbole -p testbole

注意:jobbole是[deploy:jobbole]

      testbole是自定义的

4.13、注意浏览器中查看(scrapyd提供了一个查看界面!)

 

4.14、其他操作api(删除项目),查看官方文档

地址:https://scrapyd.readthedocs.io/en/latest/api.html#

### 使用Python项目管理工具部署爬虫的最佳实践 #### 一、选择适合的部署工具 对于Scrapy这类框架构建的爬虫项目,Gerapy是一个非常优秀的管理和部署平台[^1]。其提供了图形化界面用于创建、编辑以及监控多个Scrapy项目。 #### 二、配置环境变量与依赖项 确保目标服务器上已安装必要的软件包和服务,比如Python解释器版本匹配、pip等开发工具齐全;同时也要注意处理好虚拟环境中可能存在的第三方库冲突问题。 #### 三、编写`setup.py`文件 为了简化发布流程,在源码根目录下添加一个标准格式化的`setup.py`脚本,定义好package name, version等元数据信息: ```python from setuptools import setup, find_packages setup( name=&#39;my_spider_project&#39;, version=&#39;0.1.0&#39;, packages=find_packages(), install_requires=[ &#39;scrapy>=2.7,<3.0&#39; ], ) ``` #### 四、集成持续集成/持续交付(CI/CD)管道 借助GitLab CI或GitHub Actions等功能强大的CI服务,每当有新的提交推送到仓库时自动触发测试并打包上传至PyPI或其他私有的index server。 五、运用Scrapyd进行远程执行 Scrapyd作为官方推荐的服务守护进程之一,允许用户通过HTTP API启动停止作业实例,并支持多节点集群扩展能力[^3]。下面给出一段简单的命令行调用样例: ```bash curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider ``` 六、定期备份数据库记录日志 考虑到长时间运行过程中可能会遇到意外情况造成的数据丢失风险,建议定时导出重要资料存档保存,便于后期审计追踪错误源头。 七、设置合理的并发数和下载延迟参数 适当调整CONCURRENT_REQUESTS_PER_DOMAIN 和DOWNLOAD_DELAY这两个核心选项值可以在不影响网站正常运作的前提下尽可能提高抓取速度[^2]。 八、采用分布式架构分担压力 当单机性能达到瓶颈之后考虑引入Celery+RabbitMQ/RQ这样的消息队列组合方案实现任务异步调度机制,从而有效缓解高负载带来的挑战。 九、遵循robots.txt协议尊重版权方意愿 最后但同样重要的就是务必遵守各站点发布的访问指南,避免因违规操作而被封禁IP地址甚至面临法律诉讼的风险。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值