Scrapyd 使用详解
1.安装使用scrapyd
1.安装scrapyd
pip install scrapyd
scarpy是一个爬虫框架, 而scrapyd是一个网页版管理scrapy的工具, scrapy爬虫写好后,可以用命令行运行,但是如果能在网页上操作就比较方便. scrapyd就是为了解决这个问题,能够在网页端查看正在执行的任务,也能新建爬虫任务,和终止爬虫任务,功能比较强大. 还有一个更加强大的国产工具 gerapy!
2.安装scrapyd-client
pip install scrapyd-client
3.运行scrapyd
$ scrapyd $的意思是在命令行下
首先切换命令行路径到Scrapy项目的根目录下,
要执行以下的命令,需要先在命令行里执行scrapyd,将scrapyd运行起来
4.发布工程到scrapyd
- 4.1 : 修改爬虫的scapy.cfg文件
# Automatically created by: scrapy startproject
#
# For more information about the [deploy] section see:
# https://scrapyd.readthedocs.io/en/latest/deploy.html
[settings]
default = inc_zgczx.settings
[deploy]
#url = http://localhost:6800/
project = inc_zgczx
官方详细配置文档说明:https://scrapyd.readthedocs.io/en/latest/config.html
修改默认配置信息可以在项目下新建一个scrapyd.conf或者在scrapy.cfg中增加scrapyd:
[scrapyd]
# 网页和Json服务监听的IP地址,默认为127.0.0.1
bind_address = 127.0.0.1
# 监听的端口,默认为6800
http_port = 6800
# 是否打开debug模式,默认为off
debug = off
# 每个CPU可启用的Scrapy 进程数,默认为4
max_proc_per_cpu = 4
# 可启用的最多进程数,默认为0.如果未设置或者设为0,则使用的最多进程数=CPU数量*max_proc_per_cpu
max_proc = 0
# 项目eggs生成目录,默认为项目目录下eggs
eggs_dir = eggs
# 项目日志生成目录,默认为项目目录下logs,如果不想要生成日志,可以直接设置成空
logs_dir = logs
items_dir =
# 项目dbs生成目录,默认为项目目录下dbs
dbs_dir = dbs
# 爬取的items存储的文件夹(版本0.15.以上),默认为空,不存储。
items_dir =
# 每个爬虫保持的完成任务数,默认为5.(版本0.15.以上,以前版本中为logs_to_keep)
jobs_to_keep = 5
# 保持的完成任务进程数。默认为100.(版本0.14.以上)
finished_to_keep = 100
# 轮训请求队列的时间间隔。默认为5s,可以为浮点数
poll_interval = 5.0
# 启动子进程的模块。可以使用自定义
runner = scrapyd.runner
# 返回可用于twisted的application,可继承于Scrapyd添加和移除自己的组件和服务。 https://twistedmatrix.com/documents/current/core/howto/application.html查看更多
application = scrapyd.app.application
launcher = scrapyd.launcher.Launcher
# twisted的web资源,表示到scrapyd的接口。Scrapyd包含一个带有网站的界面,可以提供对应用程序的web资源的简单监视和访问。此设置必须提供twisted web资源的根类。
webroot = scrapyd.website.Root
5.项目发布
部署主要分为两步:
将项目打包成egg
将egg通过Scrapyd的addversion.json接口上传到目标服务器
官方的部署上传接口文档:https://scrapyd.readthedocs.io/en/latest/api.html#addversion-json
部署:在项目目录下,即scrapy.cfg所在的目录下运行
scrapyd-deploy
评论区