将已解析页面的部分 URL 转换为完整 URL
Convert partial URL from parsed page to complete URL
我正在爬取一个包含不完整 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()
不起作用。
如何正确转换?
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')
我正在爬取一个包含不完整 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()
不起作用。
如何正确转换?
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')