![如果wget遵循广度优先或深度优先](https://linux22.com/image/144147/%E5%A6%82%E6%9E%9Cwget%E9%81%B5%E5%BE%AA%E5%B9%BF%E5%BA%A6%E4%BC%98%E5%85%88%E6%88%96%E6%B7%B1%E5%BA%A6%E4%BC%98%E5%85%88.png)
在运行 wget 时,我希望它“跟随链接”,就像深度优先一样:当它遇到链接时,这是它获取的下一个内容。但它似乎首先以某种方式处理第一页,获取所有链接,然后运行这些链接。对于它获取的每个页面,可能有新的/嵌套的链接,但在完成原始页面之前它不会到达这些链接。想问问并看看这是否真的是如何工作的,所以我知道我正在做的事情是否有效,并且只是在完成起始页面的链接之前不会获取这些页面。
答案1
从手册:
href
使用 HTTP URL,Wget 检索并解析给定 URL 中的 HTML 或 CSS,通过 或 等标记或使用 ' ' 函数src
表示法指定的 CSS URI 值检索文档引用的文件。url()
如果新下载的文件也是text/html
、application/xhtml+xml
、 或类型text/css
,则会对其进行解析并进一步跟踪。HTTP 和 HTML/CSS 内容的递归检索是广度优先。这意味着 Wget 首先下载请求的文档,然后下载从该文档链接的文档,然后下载它们链接的文档,依此类推。换句话说,Wget 首先下载深度 1 的文档,然后下载深度 2 的文档,依此类推,直到指定的最大深度。