我在php中编写一个Web爬虫。给定当前URL以及指向绝对,相对和根URL的链接数组,如何确定每个链接的完全限定URL?
例如,我告诉我说我正在抓取网址:
http://www.example.com/path/to/my/file.html
网页包含的链接数组是:
array(
'http://www.some-other-domain.com/',
'../../',
'/search',
);
如何确定每个链接的完全限定网址?我在这个例子中寻找的结果将分别是:
http://www.some-other-domain.com/
http://www.example.com/path/
http://www.example.com/search/
答案 0 :(得分:1)
我认为最简单的方法是使用这样的库: http://www.electrictoolbox.com/php-resolve-relative-urls-absolute/
链接中的示例:
url_to_absolute('http://www.example.com/sitemap.html', 'aboutus.html');
解析为http://www.example.com/aboutus.html
或
url_to_absolute('http://www.example.com/content/sitemap.html', '../images/somephoto.jpg');
解析为http://www.example.com/images/somephoto.jpg