背景资料:
我正在尝试在 Groovy 中构建一个非常简单的网络爬虫。它会在给定一个 URL 地址的情况下下载相关的网页以及从该页面链接的所有页面。
在 HTML 代码中的链接中,有时会缩写 URL 地址。我想到了三种不同的 URL 类型:
- 绝对 URL 地址(例如http://www.food.com/fruit/orange.html)
- 与 Web 根相关的绝对 URL 地址(例如 /fruit/orange.html)
- 相对URL地址,与当前网页所在目录相关(如../vegetables/carrot.html)
然而,我知道 Web 应用程序可以实现任意 URL 路由,因此 URL 地址可能根本不反映文件系统的结构。
我的问题:
当用户单击网页中的链接时,Web 浏览器如何知道要请求哪个 URL?或者,当我的爬虫在网页中找到链接时,它如何知道要下载哪个网页?
任何有关可用 Groovy 库来解析 URL 的提示也将不胜感激。