一个具有可插拔递归策略的简单网络蜘蛛
项目描述
Spydey
一个具有几个递归策略的简单网络蜘蛛。主页位于http://github.com/slinkp/spydey。
它除了跟随链接和报告状态外,不做其他事情。我主要用它来进行快速且简陋的烟雾测试和链接检查。
唯一不寻常的功能是--traversal=pattern选项,它以不寻常的顺序进行递归遍历:它试图识别URL中的模式,并在跟随之前已看到的模式之前跟随新型模式的URL。如果没有新型模式可以跟随,它将跟随已知模式的随机链接。如果您将其用于测试将URL模式映射到视图/控制器的典型现代网络应用程序,这将非常快速地至少一次击中您的所有视图/控制器……通常。但是,当指向具有任意深度树(静态文件、VCS存储库等)的网站时,这并不很有趣。
此外,它被设计得非常容易添加新的递归策略。Spydey最初是为了实验不同的递归爬取策略而编写的。阅读源代码。
哦,如果您安装了Fabulous,控制台输出将带有颜色。
对于懒惰的零配置烟雾测试,我通常像这样运行
spydey -r --stop-on-error --max-requests=200 --traversal=pattern --profile --log-referrer URL
有许多其他命令行选项,其中许多是从wget窃取的。使用--help查看它们是什么。
用法
Usage: spydey [options] URL
Options:
-h, --help show this help message and exit
-r, --recursive Recur into subdirectories
-p, --page-requisites
Get all images, etc. needed to display HTML page.
--no-parent Don't ascend to the parent directory.
-R REJECT, --reject=REJECT
Regex for filenames to reject. May be given multiple
times.
-A ACCEPT, --accept=ACCEPT
Regex for filenames to accept. May be given multiple
times.
-t TRAVERSAL, --traversal=TRAVERSAL, --traverse=TRAVERSAL
Recursive traversal strategy. Choices are: breadth-
first, depth-first, hybrid, pattern, random
-H, --span-hosts Go to foreign hosts when recursive.
-w WAIT, --wait=WAIT Wait SECONDS between retrievals.
--random-wait=RANDOM_WAIT
Wait from 0...2*WAIT secs between retrievals.
--loglevel=LOGLEVEL Log level.
--log-referrer, --log-referer
Log referrer URL for each request.
--transient-log Use Fabulous transient logging config.
--max-redirect=MAX_REDIRECT
Maximum number of redirections to follow for a
resource.
--max-requests=MAX_REQUESTS
Maximum number of requests to make before exiting. (-1
used with --traversal=pattern means exit when out of
new patterns)
--stop-on-error Stop after the first HTTP error (response code 400 or
greater).
-T TIMEOUT, --timeout=TIMEOUT
Set the network timeout in seconds. 0 means no
timeout.
-P, --profile Print the time to download each resource, and a
summary of the 20 slowest at the end.
--stats Print a summary of traversal patterns, if
--traversal=pattern
-v, --version Print version information and exit.
变更日志
0.5
除非提供–stats,否则删除无用的模式统计信息
修复,以防止在跟随重定向时跨越主机,除非开启-H。
0.4
添加--stop-on-error选项
将--max-requests=-1添加为停止所有模式都已被看到的情况(当与–traversal=pattern一起使用时)
自动将使用说明添加到软件包信息
0.3
改进重定向处理:遵循 -A、-R、–max-redirect 和 –max-requests 选项
修复了少量错误并进行了重构
项目详情
关闭
spydey-0.5.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 05280a0a85fd6b00667b8c32be7e5c38cc8b1077473ce2efc218cdf0c92c2ae7 |
|
| MD5 | a7f174988d1102e8bc68fd6adcc7e057 |
|
| BLAKE2b-256 | 482bf3202c99f27fbe4403bff755df58b5064fb92896743f4a9cd0c78a16dd85 |