公司动态

shots API完全解析:自定义你的网站历史GIF生成流程

📅 2026/7/17 10:07:38
shots API完全解析:自定义你的网站历史GIF生成流程
shots API完全解析自定义你的网站历史GIF生成流程【免费下载链接】shots:gun: pull down the entire Internet into a single animated gif.项目地址: https://gitcode.com/gh_mirrors/sh/shotsshots是一款强大的工具它能将整个互联网的历史变迁浓缩成单一的动画GIF。通过利用Wayback Machine的存档数据shots可以抓取网站在不同时期的截图过滤掉视觉相似的页面和空白页面最终生成展示网站随时间演变的动画GIF和静态胶片图。本文将详细解析shots的API帮助你轻松自定义网站历史GIF的生成流程。快速开始安装与基础使用要开始使用shots首先需要安装必要的依赖和工具本身。你需要先安装Python的waybackpack工具然后通过npm安装shots。pip install waybackpack0.1.1 npm i shots -S安装完成后你可以在JavaScript代码中引入shots并调用其API。以下是一个简单的示例import shots from shots; shots({ dest: resources/shots, site: amazon.com });这个简单的代码会生成一个展示亚马逊网站历史变迁的动画GIF。下面是生成的示例GIF展示了亚马逊网站在不同时期的页面布局和设计变化深入了解API选项详解shots提供了丰富的API选项让你可以自定义GIF生成的各个方面。下面我们将详细介绍这些选项。输出目录destoptions.dest选项用于指定存储所有Wayback Machine存档页面、截图、差异文件以及最终输出GIF的目录。默认情况下shots会使用一个临时目录。你可以通过以下方式指定自定义目录shots({ dest: my/custom/directory, site: example.com }).then(dest { console.log(GIF生成成功输出目录${dest}); });并发级别concurrencyoptions.concurrency选项用于设置整个过程中的并发级别决定了同时进行的截图数量或差异计算任务数量等。默认值为6你可以根据自己的系统性能进行调整shots({ site: example.com, concurrency: 12 // 提高并发级别以加快处理速度 });截图设置pageresoptions.pageres选项用于配置截图的相关参数这些参数会传递给pageres工具。默认设置如下{ crop: true, scale: 1, sizes: [1024x768] }你可以根据需要自定义这些设置例如改变截图尺寸shots({ site: example.com, pageres: { sizes: [1280x720, 1920x1080], // 生成多种尺寸的GIF scale: 0.8 // 缩小截图比例 } });网站指定site/sitesoptions.site或options.sites用于指定你想要处理的网站。可以是单个网站也可以是网站数组// 单个网站 shots({ site: example.com }); // 多个网站 shots({ sites: [example.com, github.com] });处理阶段控制stagesoptions.stages选项允许你控制shots处理过程中的各个阶段。默认情况下所有阶段都处于启用状态{ download: true, screenshots: true, diffing: true, filmstrip: true, gif: true }如果你只想生成GIF而不需要静态胶片图可以这样设置shots({ site: example.com, stages: { filmstrip: false // 禁用胶片图生成阶段 } });相似度容忍度toleranceoptions.tolerance选项用于设置图片差异的相似度容忍度取值范围为0到100。100表示每个截图都会被认为是不同的而0则表示所有截图都会被认为是相同的。只有在容忍范围内的重复截图才会被用于构建GIF和胶片图shots({ site: example.com, tolerance: 80 // 提高容忍度减少相似截图 });高级应用命令行工具除了API之外shots还提供了一个便捷的命令行工具。使用命令行工具你可以快速生成网站历史GIF而无需编写代码shots amazon.com -o shots/amazon -c 12 -t 65这个命令会为amazon.com生成历史GIF输出到shots/amazon目录使用12的并发级别和65的相似度容忍度。命令行工具还提供了其他选项你可以通过运行shots命令来查看完整的帮助信息must supply at least one site. usage: shots site [options] options: -c, --concurrency concurrency level (6) -o, --out, --output output directory (random) -r, --reverse reversed output, from present into the past -t, --tolerance image diff similarity tolerance, 0-100 (95) -v, --verbose verbose mode, outputs debugging information --no-diffing disables diffing stage --no-download disables download stage --no-filmstrip disables filmstrip stage --no-gif disables gif stage --no-screenshots disables screenshots stage example: shots amazon.com -o shots/amazon -c 12 -t 65 output: path/to/recording.gif工作流程了解shots的内部处理阶段shots的处理过程分为多个阶段每个阶段都有其特定的任务。了解这些阶段可以帮助你更好地使用和优化shots的性能下载阶段download为每个指定的网站运行waybackpack从Wayback Machine下载存档页面。如果在${dest}/pages目录中找到上次的时间戳会从该时间戳开始下载以节省时间。截图阶段screenshots为每个存档页面生成截图跳过${dest}/screenshots目录中已有的截图。差异计算阶段diffing计算每个截图与前一个截图之间的差异。根据options.tolerance设置丢弃被认为相同的截图和被认为是噪音如页面加载失败的截图。胶片图生成阶段filmstrip创建静态的胶片图展示网站在不同时期的变化。GIF生成阶段gif将筛选后的截图合成为动画GIF展示网站的历史变迁。调试与日志如果你需要查看shots的详细处理过程可以使用debug模块。只需在运行代码时设置DEBUGshots环境变量DEBUGshots node your-script.js这将在控制台输出大量调试信息帮助你了解shots的内部工作情况和排查问题。注意事项使用shots时需要注意以下几点shots的运行时间可能较长这取决于网站的存档数量和你的系统性能。请耐心等待直到GIF最终写入磁盘。你需要安装cairo bindings和imagemagick并确保它们在你的系统路径中可用。如果你想从源码构建shots可以使用项目中的构建脚本npm run build该命令会使用babel将index.babel.js转换为index.js。通过本文的介绍你应该已经掌握了shots API的基本使用和高级自定义方法。现在你可以开始使用shots来创建自己的网站历史GIF探索互联网的演变历程了【免费下载链接】shots:gun: pull down the entire Internet into a single animated gif.项目地址: https://gitcode.com/gh_mirrors/sh/shots创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考