当前位置: 首页 > 工具软件 > ScrapydWeb > 使用案例 >

scrapyd + scrapydweb 安装部署

钮博裕
2023-12-01

scrapyd + scrapydweb 安装部署

scrapydweb 启动目录为:/etc/init.d

一、安装和配置 参考安装地址:https://github.com/my8100/files/blob/master/scrapydweb/README_CN.md?tdsourcetag=s_pctim_aiomsg

1.安装:
		pip3 install scrapyd
		pip3 install scrapydweb
如果需要远程访问 Scrapyd,则需将 Scrapyd 配置文件中的 bind_address 修改为 bind_address = 0.0.0.0,然后重启 Scrapyd service。

2.通过运行命令 scrapydweb 启动 ScrapydWeb(首次启动将自动在当前工作目录生成配置文件)。

3.基础配置: 
	scrapydweb配置文件在第一次执行`scrapydweb`命令的当前目录生成,文件名scrapydweb_settings_v8.py

	1.启用HTTP基本认证(可选):
		ENABLE_AUTH = True
		USERNAME = 'username'
		PASSWORD = 'password'

	2.添加 Scrapyd server,支持字符串和元组两种配置格式,支持添加认证信息和分组/标签:
		SCRAPYD_SERVERS = [
		    '127.0.0.1:6800',
		    # 'username:password@localhost:6801#group',
		    ('username', 'password', 'localhost', '6801', 'group'),
		]

	3.添加部署爬虫项目目录地址:
		通过配置 SCRAPY_PROJECTS_DIR 指定 Scrapy 项目开发目录,ScrapydWeb 将自动列出该路径下的所有项目,默认选定最新编辑的项目,选择项目后即可自动打包和部署指定项目。
		SCRAPY_PROJECTS_DIR = '/home/xieyabin/myprojects/'

	4.# Accept connections on the specified port, the default is 5000.
		SCRAPYDWEB_PORT = 5000
		scrapydweb默认端口号5000,可修改!,启动完成后可登陆127.0.0.1:5000查看

	5.通过集成 LogParser,Jobs 页面自动输出爬虫任务的 pages 和 items 数据
		安装: pip3 install logparser
		配置文件目录:/usr/local/python3/lib/python3.6/site-packages/logparser/settings.py
			SCRAPYD_LOGS_DIR = '/etc/rc.d/init.d/logs'
		参考网址:https://github.com/my8100/logparser

	6.邮件设置:通过轮询子进程在后台定时模拟访问 Stats 页面,ScrapydWeb 将在满足特定触发器时根据设定自动停止爬虫任务并发送通知邮件,邮件正文包含当前爬虫任务的统计信息。
		1.添加邮箱帐号:
			SMTP_SERVER = 'smtp.qq.com'
			SMTP_PORT = 465
			SMTP_OVER_SSL = True
			SMTP_CONNECTION_TIMEOUT = 10

			EMAIL_USERNAME = ''  # defaults to FROM_ADDR
			EMAIL_PASSWORD = 'password'
			FROM_ADDR = 'username@qq.com'
			TO_ADDRS = [FROM_ADDR]
		2.设置邮件工作时间和基本触发器,以下示例代表:每隔1小时或当某一任务完成时,并且当前时间是工作日的9点,12点和17点,ScrapydWeb 将会发送通知邮件。
			EMAIL_WORKING_DAYS = [1, 2, 3, 4, 5]
			EMAIL_WORKING_HOURS = [9, 12, 17]
			ON_JOB_RUNNING_INTERVAL = 3600
			ON_JOB_FINISHED = True
		3.除了基本触发器,ScrapydWeb 还提供了多种触发器用于处理不同类型的 log,包括 'CRITICAL', 'ERROR', 'WARNING', 'REDIRECT', 'RETRY' 和 'IGNORE'等。
			LOG_CRITICAL_THRESHOLD = 3
			LOG_CRITICAL_TRIGGER_STOP = True
			LOG_CRITICAL_TRIGGER_FORCESTOP = False
			# ...
			LOG_IGNORE_TRIGGER_FORCESTOP = False
		以上示例代表:当日志中出现3条或以上的 critical 级别的 log 时,ScrapydWeb 将自动停止当前任务,如果当前时间在邮件工作时间内,则同时发送通知邮件。

二、scrapy爬虫项目部署 首先通过配置 SCRAPY_PROJECTS_DIR 指定 Scrapy 项目开发目录,ScrapydWeb 将自动列出该路径下的所有项目,默认选定最新编辑的项目,选择项目后即可自动打包和部署指定项目。 如果 ScrapydWeb 运行在远程服务器上,除了通过当前开发主机上传常规的 egg 文件,也可以将整个项目文件夹添加到 zip/tar/tar.gz 压缩文件后直接上传即可,无需手动打包为 egg 文件。

一键部署项目:
	1.首先把scrapy项目放到开发目录:/home/xieyabin/myprojects/
	2.打开scrapydweb网址:http://192.168.3.191:5000/
		1.点击Deploy Project,选择你的项目文件、爬虫项目,点选Package&Deploy 进行项目自动打包部署。
		2.点击Run Spider 运行项目,注意选择最新部署版本 _version 运行项目。
	3.项目代码更新处理:
		在开发目录/home/xieyabin/myprojects/更新代码后,从第2步骤内容执行即可。

详细内容请参考:
	https://github.com/my8100/files/blob/master/scrapydweb/README_CN.md?tdsourcetag=s_pctim_aiomsg
 类似资料: