#spyglass #warc #web-crawler #command-line-tool #cli

bin+lib spyglass-netrunner

一个小的命令行工具,用于帮助构建spyglass的透镜

22次发布

0.2.11 2023年4月24日
0.2.10 2023年2月27日
0.1.13 2023年2月10日
0.1.11 2023年1月16日
0.1.1 2022年9月19日

#9 in #web-crawler

Download history 7/week @ 2024-03-28 1/week @ 2024-04-04

每月下载量120次

MIT 协议

125KB
2.5K SLoC

netrunner

netrunner 是一个帮助构建、验证和为 Spyglass 透镜创建存档的工具。

透镜是一组简单的规则,告诉爬虫应该爬取哪些URL。结合来自站点地图和/或互联网档案馆的数据,netrunner 可以爬取并创建由透镜表示的页面存档。

在Spyglass中,这被用来创建一个个性化的搜索引擎,该搜索引擎只爬取和索引您感兴趣站点/页面/数据。

安装CLI

crates.io

cargo install spyglass-netrunner

或从源代码

cargo install --path .

运行CLI

netrunner 0.2.0
Andrew Huynh <andrew@spyglass.fyi>
A small CLI utility to help build lenses for spyglass

Usage: netrunner [OPTIONS] <COMMAND>

Commands:
  check-domain  Print out useful information about a domain, such as whether there is an rss feed, an robots.txt, and a sitemap
  check-urls    Grabs all the URLs represented by <lens-file> for review
  clean         Removes temporary directories/files
  crawl         Crawls & creates a web archive for the pages represented by <lens-file>
  validate      Validate the lens file and, if available, the cached web archive for <lens-file>
  help          Print this message or the help of the given subcommand(s)

Options:
  -l, --lens-file <FILE>            Lens file
  -s, --s3-bucket <S3_BUCKET_NAME>  Upload finished archive to S3
  -h, --help                        Print help information
  -V, --version                     Print version information

命令详解

check-domain

这将针对特定域名运行几个检查,提取(如果可用)URL路径到 robots.txtsitemap.xml 和该域名的任何RSS源。这些数据用于在 check-urlscrawl 命令中创建特定透镜的WARC。

check-urls

此命令将获取由该透镜表示的所有URL。这将通过以下两种方式之一收集:

  1. 代表域名的站点地图。如果可用,该工具将优先使用站点地图。

  2. 使用来自互联网档案馆的数据来确定透镜中的规则所表示的URL。

然后列表将按字母顺序排序并输出到标准输出。这是一个检查将要爬取和索引的URL是否与您为透镜期望的内容相符的好方法。

crawl

这将使用透镜中定义的规则爬取和存档页面。

这主要用于创建可以与社区创建的透镜一起分发的缓存网络存档,这样其他人就不必爬取相同的页面。

validate

这将验证透镜文件中的规则,以及如果之前已爬取,则验证该透镜的缓存网络存档。

依赖项

~27–41MB
~725K SLoC