博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python2.7 urlparse
阅读量:5118 次
发布时间:2019-06-13

本文共 2286 字,大约阅读时间需要 7 分钟。

转http://my.oschina.net/guol/blog/95699

urlparse模块主要是把url拆分为6部分,并返回元组。并且可以把拆分后的部分再组成一个url。主要有函数有urljoin、urlsplit、urlunsplit、urlparse等。 

urlparse.urlparse(urlstring[, scheme[, allow_fragments]])

    将urlstring解析成6个部分,它从urlstring中取得URL,并返回元组 (scheme, netloc, path, parameters, query, fragment),但是实际上是基于namedtuple,是tuple的子类。它支持通过名字属性或者索引访问的部分URL,每个组件是一串字符,也有可能是空的。组件不能被解析为更小的部分,%后面的也不会被解析,分割符号并不是解析结果的一部分,除非用斜线转义,注意,返回的这个元组非常有用,例如可以用来确定网络协议(HTTP、FTP等等 )、服务器地址、文件路径,等等。

1
2
3
4
5
6
7
>>>
import
urlparse
>>> url
=
urlparse.urlparse(
''
)
>>>
print
url
ParseResult(scheme
=
'http'
, netloc
=
'www.baidu.com'
, path
=
'/index.php'
, params
=
'
', query='
username
=
guol
', fragment='
')
>>>
print
url.netloc
www.baidu.com
>>>

urlparse.urlunparse(parts)

从一个元组构建一个url,元组类似urlparse返回的,它接收元组(scheme, netloc, path, parameters, query, fragment)后,会重新组成一个具有正确格式的URL,以便供Python的其他HTML解析模块使用。

1
2
3
4
5
6
7
>>>
import
urlparse
>>> url
=
urlparse.urlparse(
''
)
>>>
print
url
ParseResult(scheme
=
'http'
, netloc
=
'www.baidu.com'
, path
=
'/index.php'
, params
=
'
', query='
username
=
guol
', fragment='
')
>>> u
=
urlparse.urlunparse(url)
>>>
print
u
http:
/
/
www.baidu.com
/
index.php?username
=
guol

urlparse.urlsplit(urlstring[, scheme[, allow_fragments]])

主要是分析urlstring,返回一个包含5个字符串项目的元组:协议、位置、路径、查询、片段。allow_fragments为False时,该元组的组后一个项目总是空,不管urlstring有没有片段,省略项目的也是空。urlsplit()和urlparse()差不多。不过它不切分URL的参数。适用于遵循RFC2396的URL,每个路径段都支持参数。这样返回的元组就只有5个元素。

1
2
3
4
5
6
7
>>>
import
urlparse
>>> url
=
urlparse.urlparse(
''
)
>>>
print
url
ParseResult(scheme
=
'http'
, netloc
=
'www.baidu.com'
, path
=
'/index.php'
, params
=
'
', query='
username
=
guol
', fragment='
')
>>> url
=
urlparse.urlsplit(
''
)
>>>
print
url
SplitResult(scheme
=
'http'
, netloc
=
'www.baidu.com'
, path
=
'/index.php'
, query
=
'username=guol'
, fragment
=
'')

urlparse.urlunsplit(parts)

    urlunsplit使用urlsplit()返回的值组合成一个url

urlparse.urljoin(base, url[, allow_fragments])

    urljoin主要是拼接URL,它以base作为其基地址,然后与url中的相对地址相结合组成一个绝对URL地址。函数urljoin在通过为URL基地址附加新的文件名的方式来处理同一位置处的若干文件的时候格外有用。需要注意的是,如果基地址并非以字符/结尾的话,那么URL基地址最右边部分就会被这个相对路径所替换。如果希望在该路径中保留末端目录,应确保URL基地址以字符/结尾。

1
2
3
4
5
>>>
import
urlparse
>>> urlparse.urljoin(
''
,
'index.php'
)
''
>>> urlparse.urljoin(
''
,
'index.php'
)
''

转载于:https://www.cnblogs.com/arhatlohan/p/4217054.html

你可能感兴趣的文章
ubuntu无法解析主机错误与解决的方法
查看>>
尚学堂Java面试题整理
查看>>
MySQL表的四种分区类型
查看>>
[BZOJ 3489] A simple rmq problem 【可持久化树套树】
查看>>
STM32单片机使用注意事项
查看>>
swing入门教程
查看>>
好莱坞十大导演排名及其代表作,你看过多少?
查看>>
Loj #139
查看>>
hihocoder1187 Divisors
查看>>
Azure 托管镜像和非托管镜像对比
查看>>
js window.open 参数设置
查看>>
032. asp.netWeb用户控件之一初识用户控件并为其自定义属性
查看>>
Ubuntu下安装MySQL及简单操作
查看>>
前端监控
查看>>
clipboard.js使用方法
查看>>
移动开发平台-应用之星app制作教程
查看>>
leetcode 459. 重复的子字符串(Repeated Substring Pattern)
查看>>
伪类与超链接
查看>>
centos 7 redis-4.0.11 主从
查看>>
博弈论 从懵逼到入门 详解
查看>>