urllib库:解析链接
Posted gxj521test
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了urllib库:解析链接相关的知识,希望对你有一定的参考价值。
1from urllib.parse import urlparse, urlunparse, urlsplit, urlunsplit, urljoin, urlencode, parse_qs, parse_qsl, quote,unquote
1.urlparse() 解析url
1result = urlparse(‘https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_9094304700265862330%22%7D&n_type=0&p_from=1‘)
2print(type(result), result)
3print(result.scheme)
4print(result[0])
2.urlunparse() 构造url 长度最长为6
1data = [‘https‘, ‘www.baidu.com‘, ‘index.html‘, ‘user‘, ‘a=6‘, ‘comment‘]
2print(urlunparse(data))
3.urlsplit() 把参数合并到path
1result = urlsplit(‘https://www.baidu.com/index.html;user?a=6#comment‘)
2print(result)
3print(result.scheme)
4print(result[0])
4.urlunsplit() 组成完整的链接
1data = [‘https‘, ‘www.baidu.com‘, ‘index.html‘, ‘a=6‘, ‘comment‘]
2print(urlunsplit(data))
5.urljoin() 可以实现链接的解析,拼合,与生成
1print(urljoin("https://www.baidu.com/", ‘FAQ.html‘))
2print(urljoin(‘http://www.baiduu.com‘, ‘https://www.gxj.com/FAQ.html‘))
6.urlencode() 字典转化为请求参数
1params = {
2 ‘name‘: ‘germey‘,
3 ‘age‘: 22
4}
5baseurl = ‘http://www.baiduu.com?‘
6url = baseurl + urlencode(params)
7print(‘--urlencode--%s‘ %url)
7.parse_qs() 转化为字典
1query = ‘name=germey&age=22‘
2print(‘--parse_qs---%s‘ %parse_qs(query))
8.parse_qsl() 参数转化为元祖组成的列表
1query = ‘name=germey&age=22‘
2print(‘--parse_qsl--%s‘ %parse_qsl(query))
9.quote() 将中文转化为英文
1keyword = ‘我爱你‘
2url = ‘http://www.baiduu.com‘ + quote(keyword)
3print(‘--quote()--%s‘%url)
10.unquote() 将英文转化为中文
1keyword =‘%E6%88%91%E7%88%B1%E4%BD%A0‘
2url = ‘http://www.baiduu.com‘ + unquote(keyword)
3print(‘--quote()--%s‘%url)
以上是关于urllib库:解析链接的主要内容,如果未能解决你的问题,请参考以下文章
Urllib库基本使用详解(爬虫,urlopen,request,代理ip的使用,cookie解析,异常处理,URL深入解析)