哈尔滨网站建设工作室,国内设计大神网站,手机app设计软件有哪些,展示形网站开发来自 Scrapy 官方账号的推荐需求分析初级用户#xff1a;只有一台开发主机能够通过 Scrapyd-client 打包和部署 Scrapy 爬虫项目#xff0c;以及通过 Scrapyd JSON API 来控制爬虫#xff0c;感觉 命令行操作太麻烦 #xff0c;希望能够通过浏览器直接部署和运行项目专业用…来自 Scrapy 官方账号的推荐需求分析初级用户只有一台开发主机能够通过 Scrapyd-client 打包和部署 Scrapy 爬虫项目以及通过 Scrapyd JSON API 来控制爬虫感觉 命令行操作太麻烦 希望能够通过浏览器直接部署和运行项目专业用户有 N 台云主机通过 Scrapy-Redis 构建分布式爬虫希望集成身份认证希望在页面上直观地查看所有云主机的运行状态希望 能够自由选择部分云主机批量部署和运行爬虫项目实现集群管理希望自动执行日志分析以及爬虫进度可视化希望在出现特定类型的异常日志时能够及时通知用户包括自动停止当前爬虫任务动图展示集群多节点部署和运行爬虫项目安装和配置请先确保所有主机都已经安装和启动 Scrapyd 如果需要远程访问 Scrapyd则需将 Scrapyd 配置文件中的 bind_address 修改为 bind_address 0.0.0.0 然后重启 Scrapyd。开发主机或任一台主机安装 ScrapydWeb pip install scrapydweb运行命令 scrapydweb -h 将在当前工作目录生成配置文件 scrapydweb_settings.py 可用于下文的自定义配置。启用 HTTP 基本认证 ENABLE_AUTH TrueUSERNAME usernamePASSWORD password添加 Scrapyd server支持字符串和元组两种配置格式支持添加认证信息和分组/标签 SCRAPYD_SERVERS [127.0.0.1,# username:passwordlocalhost:6801#group,(username, password, localhost, 6801, group),]通过运行命令 scrapydweb 启动 ScrapydWeb访问 Web UIOverview 页面自动输出所有 Scrapyd server 的运行状态通过分组和过滤可以自由选择若干台 Scrapyd server调用 Scrapyd 提供的所有 HTTP JSON API实现 一次操作批量执行部署项目支持指定若干台 Scrapyd server 部署项目通过配置 SCRAPY_PROJECTS_DIR 指定 Scrapy 项目开发目录 ScrapydWeb 将自动列出该路径下的所有项目选择项目后即可自动打包和部署指定项目如果 ScrapydWeb 运行在远程 服务器 上除了通过当前开发主机上传常规的 egg 文件也可以将整个项目文件夹添加到 zip/tar/tar.gz 压缩文件后直接上传即可无需手动打包)运行爬虫通过下拉框直接选择 projectversion 和 spider支持传入 Scrapy settings 和 spider arguments同样支持指定若干台 Scrapyd server 运行爬虫日志分析和可视化默认情况下 ScrapydWeb 将在后台定时自动读取和分析 Scrapy log 文件并生成 Stats 页面爬虫进度可视化邮件通知基于后台定时读取和分析 Scrapy log 文件 ScrapydWeb 将在满足特定触发器时发送通知邮件 邮件正文包含当前运行任务的统计信息。1.添加邮箱帐号SMTP_SERVER smtp.qq.comSMTP_PORT 465SMTP_OVER_SSL TrueSMTP_CONNECTION_TIMEOUT 10FROM_ADDR usernameqq.comEMAIL_PASSWORD passwordTO_ADDRS [usernameqq.com]2.设置邮件工作时间和基本触发器以下示例代表每隔1小时或某一任务完成时并且当前时间是工作日的9点12点和17点 ScrapydWeb 将会发送通知邮件。EMAIL_WORKING_DAYS [1, 2, 3, 4, 5]EMAIL_WORKING_HOURS [9, 12, 17]ON_JOB_RUNNING_INTERVAL 3600ON_JOB_FINISHED True3.除了基本触发器 ScrapydWeb 还提供了多种触发器用于处理不同类型的 log 包括 CRITICAL, ERROR, WARNING, REDIRECT, RETRY 和 IGNORE等。LOG_CRITICAL_THRESHOLD 3LOG_CRITICAL_TRIGGER_STOP TrueLOG_CRITICAL_TRIGGER_FORCESTOP False# ...LOG_IGNORE_TRIGGER_FORCESTOP False以上示例代表当发现3条或3条以上的 critical 级别的 log 时 ScrapydWeb 自动停止当前任务 如果当前时间在邮件工作时间内则同时发送通知邮件。GitHub 开源活捉几只官方大佬赶紧前去围观吧别忘了 Star 噢