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)
urlstring
:必填项,即待解析的urlscheme
:它的默认协议(比如http,https等)allow_fragments
:即是否忽略fragment,如果它被设为False,fragment部分会被忽略,它会被解析为path、params、query的一部分,而fragment为空
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' ) """
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。