在python中使相对路径成为绝对路径

在python中使相对路径成为绝对路径,python,web-crawler,web-scraping,Python,Web Crawler,Web Scraping,我想用python抓取网页,问题是相对路径,我有以下函数对网页中的URL进行规范化和去相对化,我不能实现去相对化函数的一部分。有什么想法吗 def normalizeURL(url): if url.startswith('http')==False: url = "http://"+url if url.startswith('http://www.')==False: url = url[:7]+"www."+url[7:] retur

我想用python抓取网页,问题是相对路径,我有以下函数对网页中的URL进行规范化和去相对化,我不能实现去相对化函数的一部分。有什么想法吗

def normalizeURL(url):
    if url.startswith('http')==False:
        url = "http://"+url
    if url.startswith('http://www.')==False:
        url = url[:7]+"www."+url[7:]
    return url

def deRelativizePath(url, path):
    url = normalizeURL(url)

    if path.startswith('http'):
        return path
    if path.startswith('/')==False:
        if url.endswith('/'):
            return url+path
        else:
            return url+"/"+path
    else:
        #this part is missing
问题是:我不知道如何获取主url,它们可以有多种格式:

http://www.example.com
http://www.example.com/
http://www.sub.example.com
http://www.sub.example.com/
http://www.example.com/folder1/file1 #from this I should extract http://www.example.com/ then add path
...

从URLPRASE导入URLPRASE


然后解析为各个部分 通过将一个“基本URL”(
base
)与另一个URL(
URL
)组合,构建一个完整的(“绝对”)URL。非正式地说,它使用基本URL的组件,特别是寻址方案、网络位置和(部分)路径,来提供相对URL中缺少的组件


作为补充说明,我建议阅读PEP8以符合编码风格方面的最佳实践。太棒了,非常感谢您的编码风格