解析爬虫的网址

时间:2010-09-06 15:18:07

标签: php c++ url urlparse

我正在编写一个小型爬虫,在获取链接的同时提取了5到10个网站,我得到了一些像这样的网址

../tets/index.html

如果是/test/index.html,我们可以添加基本网址http://www.example.com/test/index.html

我能为这种网址做些什么。

3 个答案:

答案 0 :(得分:1)

这些网址是relative urls。 “..”表示“父目录”,而“。”简单地表示“此目录”,如bash。 例如,如果您正在查看此页面:http://www.someserver/test/foo/bar.html,并且其中有一个这样的网址:“../ baz / foobar.html”,它实际上指向http://www.someserver/test/baz/foobar.html我认为。试试吧。

答案 1 :(得分:0)

使用dirname()获取基目录,使用substr()删除..并将其附加到那里。像这样:

<?php
$url = "../tets/index.html";
$currentURL = "http://example.com/somedir/anotherdir";
echo dirname($currentURL).substr($url, 2);
?>

输出:

http://example.com/somedir/tets/index.html

答案 2 :(得分:0)

查看这个URL Normalization维基百科页面。

相关问题