0

我正在抓取一个包含不完整 URL 的页面,我需要将它们转换为完整的 HTTP url,例如,原始地址是:http://www.example.com/dir1/dir1/并且索引文件包含以下链接:

/page.htm
page.htm
../page.htm
../../page.htm

我需要将它们转换为

http://www.example.com/page.htm
http://www.example.com/dir1/dir2/page.htm
http://www.example.com/dir/page.htm
http://www.example.com/page.htm

我不确定如何../从原始地址识别和评估它们并且urlparse(temp_href).geturl()不起作用。

如何正确转换它们?

4

1 回答 1

2

urljoin 应该为您解决问题。

from urlparse import urljoin

base = "http://www.example.com/dir1/dir1/"
print urljoin(base, "/page.htm")
print urljoin(base, "page.htm")
print urljoin(base, "../page.htm")
print urljoin(base, '../../page.htm')
于 2016-02-18T03:43:07.540 回答