【发布时间】:2015-09-17 00:38:35
【问题描述】:
我正在制作一个网络爬虫,我正在尝试找出一种从相对路径中找出绝对路径的方法。 我拿了2个测试点。一个在 ROR 中,一个是使用 Pyro CMS 制作的。
在后一个中,我找到了带有链接“index.php”的 href 标记。所以,如果我目前在http://example.com/xyz 爬行,那么我的爬行器将追加并使其成为http://example.com/xyz/index.php。但问题是,我应该追加到根目录,即它应该是http://example.com/index.php。所以如果我抓取http://example.com/xyz/index.php,我会找到另一个“index.php”,它会再次被附加。
在 ROR 中,如果相对路径以“/”开头,我可以很容易地知道它是一个根站点。
我可以处理 index.php 的情况,但是如果我开始手动操作,可能需要注意很多规则。我确信有一种更简单的方法可以完成这项工作。
【问题讨论】:
-
不像你想象的那样微不足道的任务。随意从here 汲取灵感。
-
使用
(*URL).Parse(参见golang.org/pkg/net/url/#URL.Parse),它完全符合您的要求(如果这些是实际的、语义正确的、正确的链接,没有CMS 自定义废话)。
标签: php ruby-on-rails go web-crawler relative-path