scrapyd安装教程,符合官方文档说明

本文详细介绍了如何在Python的Scrapy框架中正确安装和配置Scrapyd,包括使用miniconda创建虚拟环境,查找和修改scrapyd.conf文件,设置外网访问权限和账号密码,以及将Scrapyd转化为系统服务以实现自动启动和管理。
摘要由CSDN通过智能技术生成

前言

对于scrapy框架,本人已经接触了有5年之久,期间其实有段时间没使用,回头来查相关的文章内容,看到很多人连配置文件怎么弄都不知道,而是直接修改源码里面的default_scrapyd.conf,这是很不好的行为,因为如果你升级,或者更换了虚拟环境,原本配置的信息就丢失了,你直接scrapyd去启动,有时候就会异常。对此,还是按照官方的方式去配置比较好。

scrapyd安装

本人推荐使用miniconda创建虚拟环境,对于miniconda的使用,可以参考另外的文章miniconda安装教程
创建好环境后,通过pip即可简单安装完成

pip install scrapyd

scrapyd.conf配置文件

查找scrapyd源码目录

安装后不需急着scrapyd直接启动。以前版本,我是直接执行后,在执行目录就会生成scrapyd.conf文件,但新版本好像取消了。就需要你去找到default_scrapyd.conf文件,然后重命名一下。在shell中输入一下指令

find / -name scrapyd

此时会查找出scrapyd的源码位置,也就是结果中的第三个(site-packages目录下的)

/root/miniconda3/envs/scrapyd
/root/miniconda3/envs/scrapyd/bin/scrapyd
/root/miniconda3/envs/scrapyd/lib/python3.11/site-packages/scrapyd

scrapyd.conf放置目录

拷贝该目录下的default_scrapyd.conf到官方指定的目录中

  • 先说明一下官方指定配置文件目录

Scrapyd searches for configuration files in the following locations, and parses them in order with the latest one taking more priority:

  • /etc/scrapyd/scrapyd.conf (Unix)
  • c:\scrapyd\scrapyd.conf (Windows)
  • /etc/scrapyd/conf.d/* (in alphabetical order, Unix)
  • scrapyd.conf
  • ~/.scrapyd.conf (users home directory)

The configuration file supports the following options (see default values in the example).

以上内容是官方文档的说明,也就是说,scrapyd服务会默认去这些文件夹里面读取配置,按照顺序进行读取。具体顺序需自行测试,其中可以看到scrapyd.conf就是执行scrapyd当前目录的意思,我们因为等下要把scrapyd做成系统服务,所以选择一条指定路径,就用/etc/scrapyd/scrapyd.conf。先创建文件夹,然后拷贝

mkdir -p /etc/scrapyd/
cp /root/miniconda3/envs/scrapyd/lib/python3.11/site-packages/scrapyd/default_scrapyd.conf /etc/scrapyd/scrapyd.conf

这样就运行scrapyd就会使用这一份配置,而不是使用default_scrapyd.conf

设置外网访问和账号密码

在生成了专属的scrapyd.conf文件后,现在需要配置一些基本的信息,方便外网使用和设置账号密码提高安全性,设置完后记得保存

[scrapyd]
eggs_dir    = /etc/scrapyd/eggs		# 打包了的爬虫代码存放路径
logs_dir    = /etc/scrapyd/logs		# scrapyd服务器上爬虫运行的日志记录
items_dir   =
jobs_to_keep = 5
dbs_dir     = /etc/scrapyd/dbs		# scrapyd的一些数据本地存储
max_proc    = 0
max_proc_per_cpu = 4
finished_to_keep = 100
poll_interval = 5.0
bind_address = 127.0.0.1			# 这里修改成0.0.0.0,这样就可以外网访问
http_port   = 6800
username    =						# 设置一下账号
password    =						# 设置一下密码
prefix_header = x-forwarded-prefix

启动scrapyd

现在可以通过以下指令启动scrapyd进行体验了

scrapyd

查看网页

  • 通过http://127.0.0.1:6800/,看到以下页面即为完成,进去前可能需要输入一下账号密码
    在这里插入图片描述
  • 如果外网访问异常,请排查一下是否127.0.0.1没有设置成0.0.0.0,或者服务器端口6800没有对外开放

把scrapyd做成系统服务

现在启动的scrapyd只能在我们连接shell的时候,正常使用,我们还需要使它能在后台运行,有的使用nohup,这个不推荐,也有用screem,这个看自己爱好吧。我这边是用把它做成系统服务,可以通过systemctl start scrapyd.service这样去启动服务,并随着开机启动

查找scrapyd运行文件的目录

通过以下指令

 which scrapyd

直接查找出/root/miniconda3/envs/scrapyd/bin/scrapyd这个目录,下面会用到

生成service配置文件

vim /etc/systemd/system/scrapyd.service

然后填入以下内容

[Unit]
Description=Scrapyd service
After=network.target

[Service]
User=root
Group=root
ExecStart=/root/miniconda3/envs/scrapyd/bin/scrapyd

[Install]
WantedBy=multi-user.target
  • User和Group使用当前用户即可,我使用root用户。
  • ExecStart就是用上面通过which scrapyd查询出来的路径/root/miniconda3/envs/scrapyd/bin/scrapyd

保存并退出即可

重新加载 systemd,以读取新的服务文件

systemctl daemon-reload

设置开机启动scrapyd

systemctl enable scrapyd.service

启动scrapyd服务

systemctl start scrapyd.service

停止scrapyd服务

systemctl stop scrapyd.service

重启scrapyd服务

systemctl restart scrapyd.service

查看scrapyd服务状态

systemctl status scrapyd.service

余后工作

  • 删除miniconda安装文件
  • 安装scrapy项目需要的requirements.txt文件
  • 25
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值