urllib库的使用方法之parse模块

#urllib库的parse模块,它定义了处理URL的标准借口。它可实现URL各部分的抽取,合并以及链接转换
#1.urlparse()此方法可实现URL的识别和分段
from urllib.parse import urlparse result = urlparse('http://www.baidu com/index.html;user?id=S#comment') print(type(result),result)
#返回的类型是元组形式,可通过索引顺序查找,属性查找值。//前面就是scheme代表协议,第一个/符号前面是netloc域名,后面是path即访问路径,分号;前面是params代表参数。问号?后面是查询条件query,一般用作GET类型的URL,#后面是瞄点用于直接定位页面内部的下拉位置
#urlparse()的3个参数
1 urlsting:必选项,即待解析的URL
2 scheme:它是默认的协议(比如http或https等)。如果链接灭有携带协议信息,会将默认的协议作为参数,如果链接里有协议则参数无效

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

3 allow_fragments:设置为false时,他会被解析为path,parameters或者query的一部分,fragment部分为空

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

#2. urlunparse()方法可实现URL的合成,它接受的参数是一个可以迭代的对象,但是长度必须是6否则会出现异常

from urllib.parse import urlunparse
data = ['http','www.baidu.com','index.html','user','a = 6','comment']
print(urlunparse(data))

#3. urlsplit()类似于urlopen()方法,不单独解析params这一部分,只返回5个结果。
#4. urlunsplit()类似于urlunparse()方法,传入的参数也是一个可迭代对象,列表,元组等,长度必须为5
#5. urljoin()方法类似于urlunsplit(),urlunparse()方法。可完成链接的合并,但是他们都需要固定的长度
#urljoin()方法接受两个参数,base_url()作为第一个参数,将新的链接作为第二个参数。该方法会分析base_url的scheme,netloc和path这3个内容并对新链接缺失的部分进行补充,最后返回结果
#如果base_url的scheme,netloc和path这3个内容在新的链接里不存在,就予以补充,如果新的链接存在就使用新的链接的部分。
#6. urlencode()在构造GET请求参数时有用。通过字典将参数表示出来,后调用此方法将其序列化为GET请求参数
#7. parse_qs()将上述方法中的关键字反序列化为字典的类型
#8. parse_qsl()方法,用于将参数转化为元组组成的列表
#9. quoto()方法,此方法可将中文字符转化为URL编码
#10.unquoto()方法,对URL进行解码

猜你喜欢

转载自blog.csdn.net/wg5foc08/article/details/88765992