SiteOne 爬虫的目的
我们多平台爬虫的主要目的是帮助网站所有者、开发人员、QA 工程师和 DevOps 找到弱点 并帮助在各个方面 提高他们网站的质量 —— 包括 SEO 、安全性 、性能 、可访问性 、社交媒体分享 、最佳实践 或 内容问题。
它具有广泛的设置选项,并以 清晰的结构化图形报告 的形式生成输出,或者以 文本 或 JSON 的形式输出以便进一步集成。
同时,这个工具还提供了其他非常有用的功能——它可以将整个网站转换为 离线/存档浏览形式 ,生成 网站地图 ,发送 电子邮件报告 ,并准备好进行其他功能的有效开发。从版本 1.0.7 开始,您可以使用通过安全唯一的 URL 上传和共享 HTML 报告 的选项。
典型用例
网站所有者或顾问
- 可以检查其网站的 构建质量 并考虑实施一些改进建议;
- 可以检查服务器端构建各个页面的 速度 ,例如 SLA 合同的参数是否符合;
- 可以快速发现 搜索引擎内容定义 方面的问题(重复的标题/描述,糟糕的标题结构等);
- 为了存档和其他(例如法律)目的,可以创建一个功能性的 离线版本 的网站,该版本可以保存到 U 盘并从本地磁盘查看,完全不需要互联网。
开发者
- 可以检查其工作在许多领域的 质量 并找到一些被忽视的不完善之处;
- 可以有效地 对比优化前后 新版本发布的效果;
- 可以非常迅速地定位需要优化的 最慢页面 ,或者未被缓存且应当缓存的页面;
- 可以简单测试网站在其开发过程中关闭字体、图像、样式或 JavaScript 时的工作情况;
- 可以检查处于开发中的 开发者版本
http://localhost:PORT/
或非公开的密码保护版本。
DevOps
- 可以作为 CI/CD 管道的一部分 测试整个网站的功能性;
- 可以发布后 预热网站的缓存 ,使得首批访客不必等待单个页面的生成;
- 可以测试 重负载下的网站性能 ,因为请求可以并行发起,带有任意数量的
workers
(但请注意不要触发拒绝服务攻击); - 可以测试使用的 防护机制对抗 DoS 攻击的有效性 (通常是速率限制和同时连接限制)。
QA 工程师
- 爬虫可以是测试整个网站和分析 其他工具未注意到的细节 的另一个有用的工具;
- 可以 保存历史报告 并跟踪性能、安全、可访问性、SEO 和其他所有参数如何随时间 演变;
- 可以 比较相同网站不同环境之间 (例如生产环境与暂存环境)或不同版本之间(新版本发布前后)的结果;
- 可以测试 重负载下网站的功能性 ,因为请求可以并行发起,带有任意数量的 workers 和每秒请求数(但请注意不要触发拒绝服务攻击);
- 作为一名专业人士,他/她可以为这项工具 提出改进建议 以直接帮助他/她;这些改进建议的形式应是 功能请求 —— 真正的目标是创建一个非常有用和全能的工具,帮助改善全球网站的质量。
核心原则
这个爬虫的工作操作原理相对简单——它会读取提供的 URL,解析指向其他页面和所有其他内容的链接,在并行处理所有其他页面的过程中再次解析,并在找不到其他页面时停止。
对于每个对 URL 的响应,它会执行大量的分析——其中一些立即执行,而另一些则作为结束时的汇总分析。程序员很容易添加他们的 自定义分析器。
为了避免过载服务器,爬虫有此 防过载默认设置:--workers=3 --max-reqs-per-sec=10
(简写形式 -w=3 -rps=10
)。这意味着爬虫将运行 3 个并行 worker,并且它们总共每秒可以发出最多 10 个请求。这是一个非常安全的设置,不会过载服务器,但会花费较长时间来爬取整个网站。如果您想加快爬取速度,您可以增加 worker 数量和每秒请求数量。但是请注意不要触发拒绝服务攻击。
默认情况下,爬虫将所访问 URL 的内容和头信息存储在 本地缓存 中,以便如果爬取中断,可以从断点处重新启动而不必重新下载已加载的内容。
您可以通过按 CTRL+C
在任何时候 中断爬取过程——所有分析和报告都会生成,但仅针对中断时间前已访问的 URL。但在中断的情况下,默认配置的带有报告的电子邮件将不会被发送。