[博客翻译]SiteOne Crawler——免费网站分析器


原文地址:https://crawler.siteone.io/


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。但在中断的情况下,默认配置的带有报告的电子邮件将不会被发送。