解析链接
-
urlparse
解析url,将一个url解析为六个部分分别为
scheme、netloc、path、params、query、fragment。
例子如下:
from urllib.parse import urlparse result = urlparse('http://www.baidu.com/index.html;user?id=5#comment') print(type(result), result)
结果是<class 'urllib.parse.ParseResult'> ParseResult(scheme='http', netloc='www.baidu.com', path='/index.html', params='user', query='id=5', fragment='comment')
-
urlunparse
它接受的参数是一个可迭代对象,但是它的长度必须是 6,否则会抛出参数数量不足或者过多的问题。
例子如下:
from urllib.parse import urlunparse data = ['http', 'www.baidu.com', 'index.html', 'user', 'a=6', 'comment'] print(urlunparse(data))
结果输出一个url为http://www.baidu.com/index.html;user?a=6#comment
-
urlsplit
这个和 urlparse() 方法非常相似,只不过它不会单独解析 parameters 这一部分,只返回五个结果。
-
urlunsplit
与 urlunparse() 类似,也是将链接的各个部分组合成完整链接的方法,传入的也是一个可迭代对象,例如列表、元组等等,唯一的区别是,长度必须为 5。
-
urljoin
生成链接还有另一个方法,利用 urljoin() 方法我们可以提供一个 base_url(基础链接),新的链接作为第二个参数,方法会分析 base_url 的 scheme、netloc、path 这三个内容对新链接缺失的部分进行补充,作为结果返回。
-
urlencode
我们首先声明了一个字典,将参数表示出来,然后调用 urlencode() 方法将其序列化为 URL 标准 GET 请求参数。
-
parse_qs
有了序列化必然就有反序列化,如果我们有一串 GET 请求参数,我们利用 parse_qs() 方法就可以将它转回字典
-
parse_qsl
parse_qsl() 方法可以将参数转化为元组组成的列表
-
quote
quote() 方法可以将内容转化为 URL 编码的格式,有时候 URL 中带有中文参数的时候可能导致乱码的问题,所以我们可以用这个方法将中文字符转化为 URL 编码。
-
unquote
有了 quote() 方法当然还有 unquote() 方法,它可以进行 URL 解码。
文章参考链接:python3网络爬虫开发实战