将爬取网页中的相对路径转换为绝对路径

1.背景:

在爬取网页中的过程中,我对目前爬虫项目后端脚本中拼接得到绝对路径的方法很不满意,今天很无意了解到在python3 的 urllib.parse模块对这个问题有着非常完善的解决策略,真的是上天有眼,感动!

2.urllib.parse模块

This module defines a standard interface to break Uniform Resource Locator (URL) strings up in components (addressing scheme, network location, path etc.), to combine the components back into a URL string, and to convert a “relative URL” to an absolute URL given a “base URL.”

根据Python官网文档,我们可以大致了解到这个模块的3个主要功能,一是将URL分解为各个部分,二是将URL各个部分拼接成URL,三是将一个相对路径转换成绝对路径。

我们主要用它的第三个功能,使用的函数是

urllib.parse.urljoin(base, url, allow_fragments=True)

3.代码实现例子:

代码:

from urllib import parse
 
page_url = 'http://fcg.gxepb.gov.cn/ztzl/hjwfbgt/'
new_url = '../../hjzf/xzcf/201811/t20181102_46347.html'
 
new_full_url = parse.urljoin(page_url, new_url)
print(new_full_url)

结果为:

http://fcg.gxepb.gov.cn/hjzf/xzcf/201811/t20181102_46347.html
可以说是相当棒了!

4.官方相关文档链接:
urllib.parse — Parse URLs into components

感谢:转自将爬取网页中的相对路径转换为绝对路径

posted on 2021-02-18 16:15  耀扬  阅读(667)  评论(0编辑  收藏  举报

导航