Scrapyd是一个用于部署和运行Scrapy项目的工具,有了它,你可以将写好的Scrapy项目上传到云主机并通过API来控制它的运行。
既然是Scrapy项目部署,基本上都使用Linux主机,所以本节的安装是针对于Linux主机的。
1. 相关链接
- GitHub:https://github.com/scrapy/scrapyd
- PyPI:https://pypi.python.org/pypi/scrapyd
- 官方文档:https://scrapyd.readthedocs.io
2. pip安装
这里推荐使用pip安装,命令如下:
pip3 install scrapyd
3. 配置
安装完毕之后,需要新建一个配置文件/etc/scrapyd/scrapyd.conf,Scrapyd在运行的时候会读取此配置文件。
在Scrapyd 1.2版本之后,不会自动创建该文件,需要我们自行添加。
首先,执行如下命令新建文件:
sudo mkdir /etc/scrapyd sudo vi /etc/scrapyd/scrapyd.conf
接着写入如下内容:
[scrapyd] eggs_dir = eggs logs_dir = logs items_dir = jobs_to_keep = 5 dbs_dir = dbs max_proc = 0 max_proc_per_cpu = 10 finished_to_keep = 100 poll_interval = 5.0 bind_address = 0.0.0.0 http_port = 6800 debug = off runner = scrapyd.runner application = scrapyd.app.application launcher = scrapyd.launcher.Launcher webroot = scrapyd.website.Root [services] schedule.json = scrapyd.webservice.Schedule cancel.json = scrapyd.webservice.Cancel addversion.json = scrapyd.webservice.AddVersion listprojects.json = scrapyd.webservice.ListProjects listversions.json = scrapyd.webservice.ListVersions listspiders.json = scrapyd.webservice.ListSpiders delproject.json = scrapyd.webservice.DeleteProject delversion.json = scrapyd.webservice.DeleteVersion listjobs.json = scrapyd.webservice.ListJobs daemonstatus.json = scrapyd.webservice.DaemonStatus
配置文件的内容可以参见官方文档https://scrapyd.readthedocs.io/en/stable/config.html#example-configuration-file。这里的配置文件有所修改,其中之一是max_proc_per_cpu
官方默认为4,即一台主机每个CPU最多运行4个Scrapy任务,在此提高为10。另外一个是bind_address
,默认为本地127.0.0.1,在此修改为0.0.0.0,以使外网可以访问。
4. 后台运行
Scrapyd是一个纯Python项目,这里可以直接调用它来运行。为了使程序一直在后台运行,Linux和Mac可以使用如下命令:
(scrapyd > /dev/null &)
这样Scrapyd就会在后台持续运行了,控制台输出直接忽略。当然,如果想记录输出日志,可以修改输出目标,如:
(scrapyd > ~/scrapyd.log &)
此时会将Scrapyd的运行结果输出到~/scrapyd.log文件中。
当然也可以使用screen、tmux、supervisor等工具来实现进程守护。
运行之后,便可以在浏览器的6800端口访问Web UI了,从中可以看到当前Scrapyd的运行任务、日志等内容,如图1所示。
当然,运行Scrapyd更佳的方式是使用Supervisor守护进程,如果感兴趣,可以参考:http://supervisord.org/。
另外,Scrapyd也支持Docker,后面我们会介绍Scrapyd Docker镜像的制作和运行方法。
5. 访问认证
配置完成后,Scrapyd和它的接口都是可以公开访问的。如果想配置访问认证的话,可以借助于Nginx做反向代理,这里需要先安装Nginx服务器。
在此以Ubuntu为例进行说明,安装命令如下:
sudo apt-get install nginx
然后修改Nginx的配置文件nginx.conf,增加如下配置:
http { server { listen 6801; location / { proxy_pass http://127.0.0.1:6800/; auth_basic "Restricted"; auth_basic_user_file /etc/nginx/conf.d/.htpasswd; } } }
这里使用的用户名和密码配置放置在/etc/nginx/conf.d目录下,我们需要使用htpasswd
命令创建。例如,创建一个用户名为admin的文件,命令如下:
htpasswd -c .htpasswd admin
接着就会提示我们输入密码,输入两次之后,就会生成密码文件。此时查看这个文件的内容:
cat .htpasswd admin:5ZBxQr0rCqwbc
配置完成后,重启一下Nginx服务,运行如下命令:
sudo nginx -s reload
这样就成功配置了Scrapyd的访问认证了。
相关推荐
【黑芝麻智能】是一家专注于自动驾驶芯片研发的中国独角兽企业,由具有深厚行业经验的创始人团队于2016年创立。公司瞄准智能汽车市场对于高算力、高性能芯片的急迫需求,尤其在新冠疫情导致全球汽车芯片短缺的背景下...
【芝麻乐短信插件安装说明】 芝麻乐短信插件是由互亿无线开发的一款专门针对芝麻乐众筹系统的短信验证和通信工具。此插件的主要目的是为了提高系统的安全性与用户体验,通过手机号码短信验证的方式,增强用户注册的...
黑芝麻:国产芯片能有多少机会.pdf
【南方黑芝麻集团股份有限公司2020年年度报告】提供了公司过去一年的综合业绩和经营状况,涵盖了财务、业务、风险、未来规划等多个方面。以下是报告中的关键知识点: 1. **年度报告的真实性与责任**:董事会、监事...
6. **开发环境设置**:开发者可能需要在本地设置开发环境,例如安装Python或Java的开发工具,配置相关库和依赖,以便运行和调试Demo。 7. **错误处理**:在调用接口时,可能会遇到各种错误,如网络问题、参数错误、...
芝麻信用接口Demo及文档主要涉及的是使用芝麻信用服务的相关技术和步骤,这是一项基于大数据和云计算的个人信用评估系统。在本文中,我们将深入探讨芝麻信用接口的使用、接口文档的重要性和Demo的应用。 首先,芝麻...
芝麻测试,或者称为SESAME-TEST,是一种针对软件和应用的测试方法,旨在确保产品的功能性和性能。在本文中,我们将深入探讨与JavaScript相关的芝麻测试技术、重要性以及如何进行有效的测试。 首先,我们理解...
JAVA WEB项目网页设计作业源码:芝麻开门博客网JAVA WEB项目网页设计作业源码:芝麻开门博客网JAVA WEB项目网页设计作业源码:芝麻开门博客网JAVA WEB项目网页设计作业源码:芝麻开门博客网JAVA WEB项目网页设计作业...
在Java开发领域,芝麻信用是一种基于大数据和云计算的信用评估服务,主要由蚂蚁金服提供。这个实例项目可能涵盖了如何利用Java技术与芝麻信用接口进行交互,获取和处理用户的信用数据。下面将详细讨论相关知识点。 ...
通达信指标公式源码蜡烛钻石小量(芝麻量 钻石量) 通达信指标公式源码蜡烛钻石小量(芝麻量 钻石量)是指一个基于通达信指标公式的蜡烛钻石小量指标,该指标通过对 Volume(成交量)和 Close(收盘价)的分析,来...
【仿芝麻信用分】是一种基于大数据和信用评估的模拟系统,旨在模仿阿里巴巴旗下蚂蚁金服推出的“芝麻信用分”服务。这个项目可能是为了学习和理解如何构建类似的信用评分模型,或者是为了开发一个内部或测试版的信用...
它可能包含了与支付宝接口交互的HTTP请求方法,如`curl`或者使用`file_get_contents`,并且会处理签名生成、数据加密和解密、错误处理等细节。 3. **芝麻信用授权** 用户在使用免押服务前,需要授权应用访问其芝麻...
本项目“仿支付宝芝麻信用分自定义view”旨在模拟支付宝应用程序中的芝麻信用分展示视图,这涉及到对Android UI设计、自定义View的绘制以及动画效果的实现。 首先,自定义View的基础是理解Android的View类和...
1. **安装SDK**:在你的Node.js项目中,你可以通过npm(Node.js包管理器)来安装芝麻信用的NodeJS SDK。通常,你可以在命令行中输入`npm install bmqb-zmxy-8cd9cd6`来安装指定版本的SDK。 2. **引入SDK**:在你的...
芝麻乐股权众筹开源cms系统安装方法 本系统要求php5.3以上 如需要路由,请先配置伪静态规则 apache .htaccess伪静态文件在根目录 nginx amh.conf伪静态文件在根目录 直接运行,根据提示一步步简单安装即可 ...
完整 php 接入芝麻信用分流程,私钥和公钥在芝麻信用后台设置,官网有详细说明
"黑芝麻智能科技" 黑芝麻智能科技是一家专门从事自动驾驶芯片的研发和生产的公司,作为国产芯片的领跑者之一,黑芝麻智能提供了涵盖计算平台、大算力芯片、核心IP在内的端到端解决方案,赋予ADAS、自动驾驶、车路...
芝麻信用SDK移动端接入指南 在移动应用开发中,与第三方服务进行集成是常见的需求,而芝麻信用作为阿里巴巴集团下的一个专业信用评估平台,为开发者提供了SDK,使得在移动端实现用户信用查询、授权等功能变得简单易...
不错的可用来练手、课程设计、毕业设计的Javaweb项目源码:芝麻开门博客网 不错的可用来练手、课程设计、毕业设计的Javaweb项目源码:芝麻开门博客网 不错的可用来练手、课程设计、毕业设计的Javaweb项目源码:芝麻...
【Android芝麻信用Demo】是一个示例项目,展示了如何在Android应用程序中集成芝麻信用服务,以实现用户信用评估和相关信息查询的功能。这个项目适用于开发者,尤其是那些想要在自己的应用中引入芝麻信用评分系统的...