在python中使相对路径成为绝对路径
我想用python抓取网页,问题是相对路径,我有以下函数对网页中的URL进行规范化和去相对化,我不能实现去相对化函数的一部分。有什么想法吗在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
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以符合编码风格方面的最佳实践。太棒了,非常感谢您的编码风格