目录
urllib.parse模块的的urlparse可以将 URL 解析成 ParseResult 对象,实现url的识别和分段。作为urllib.parse模块的urljoin()方法也应用于url,作用与urlparse相反,是用于拼接url。除了可以组接url,还可以对网址进行拼接,本文介绍它的使用方法。
1、urllib.parse模块的urljoin()方法
urljoin()方法将两个链接参数拼接为完整URL,用于拼接url。
2、使用格式
urljoin(base, url, allow_fragments=True)
连接两个参数的url, 将第二个参数中缺的部分用第一个参数的补齐,如果第二个有完整的路径,则以第二个为主。
3、urljoin()组接url使用实例
# 连接两个参数的url, 将第二个参数中缺的部分用第一个参数的补齐,如果第二个有完整的路径,则以第二个为主
from urllib.parse import urljoin
print(urljoin('www.baidu.com', '?category=2#comment'))
print(urljoin('www.baidu.com', 'https://blog.youkuaiyun.com/nav/python'))
输出:
www.baidu.com?category=2#comment
https://blog.youkuaiyun.com/nav/python
4、urljoin()对网址进行拼接使用实例
from urllib.parse import urljoin
print(urljoin('http://www.baidu.com','FAQ.html')) #http://www.baidu.com/FAQ.html
print(urljoin('www.baidu.com','?category=2#comment')) #www.baidu.com?category=2#comment
print(urljoin('www.baidu.com','http://qq.com')) #http://qq.com
5、传入两个毫不相干,相对完整的URL
结果为第二个URL
from urllib.parse import urljoin
print(urljoin('https://haha.com/index.html','https://baidu.com'))
#运行结果为 https://baidu.com
6、传入两个非常缺损的URL
from urllib.parse import urljoin
print(urljoin('www.bai.com','/index.html'))
#结果是 /index.html
所以说,最好不要这么做,否则会产生意想不到的结果