python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python urlparse()方法

python中的urlparse()方法使用

作者:码奋

这篇文章主要介绍了python中的urlparse()方法使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python urlparse()方法

该方法实现url的识别和分段,这里先用一个实例来看一下

from urllib.parse import urlparse
 
result=urlparse('http://www.baidu.com/index.html;user?id=5#comment')
print(type(result),result)

这里我们用urlparse()方法进行了URL的解析,首先,输出解析结果类型,再将结果也输出

如下:

<class 'urllib.parse.ParseResult'> 
ParseResult(scheme='http', netloc='www.baidu.com', path='/index.html', params='user', query='id=5', fragment='comment')

观察实例,'http://www.baidu.com/index.html;user?id=5#comment'

可以发现,urlparse()方法将其拆分为6个部分,分别是

scheme='http',代表协议

netloc='www.baidu.com',代表域名

path='/index.html', 代表path,即访问路径

params='user', 代表参数

query='id=5', 代表查询条件,一般用作get类型的URL

fragment='comment'代表锚点,用于直接定位页面内部的下拉位置,

所以一个标准的链接应该是

scheme://netloc/path;params?query#fragment

接下来讲述其API用法

 urllib.parse.urlparse(urlstring,scheme='',allow_fragments=True)

python urlsplit, urlparse简单区别

顾名思义,urlsplit是拆分,而urlparse是解析,所以urlparse粒度更为细致

区别

split函数在分割的时候,path和params属性是在一起的

代码示例

# -*- coding: utf-8 -*-

from urllib.parse import urlsplit, urlparse

url = "https://username:password@www.baidu.com:80/index.html;parameters?name=tom#example"

print(urlsplit(url))
"""
SplitResult(
    scheme='https', 
    netloc='username:password@www.baidu.com:80', 
    path='/index.html;parameters', 
    query='name=tom', 
    fragment='example')
"""

print(urlparse(url))
"""
ParseResult(
    scheme='https', 
    netloc='username:password@www.baidu.com:80', 
    path='/index.html', 
    params='parameters', 
    query='name=tom', 
    fragment='example'
)
"""

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文