2016-02-18 148 views
0

我對具有不完整網址的網頁進行抓取並將其轉換爲完整的HTTP網址,例如,原始地址爲: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()不起作用。

如何正確地轉換它們?

回答

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')