url参数和字典的相互转化

目标url:https://www.baidu.com/s?&wd=python&ie=utf-8  

将字典转成url参数

  • 使用urllib.parse的urlencode方法,将字典对象传入返回标准的url参数格式字符串
1 from urllib.parse import urlencode
2 params = {'wd': 'python', 'ie': 'utf-8'} 3 result = urlencode(params) # wd=python&ie=utf-8
  • 使用requests
1 import requests
2 
3 params = {'wd': 'python', 'ie': 'utf-8'}
4 r = requests.get('https://www.baidu.com/s', params=params)
5 result = r.url.split('?')[1]  # wd=python&ie=utf-8

将url参数转成字典

  • 使用urllib.parse的parse_qs和urlparse方法
1 from urllib.parse import parse_qs, urlparse
2 
3 url = 'https://www.baidu.com/s?&wd=python&ie=utf-8'
4 # 提取url参数
5 query = urlparse(url).query  # wd=python&ie=utf-8
6 # 将字符串转换为字典
7 params = parse_qs(query)  # {'wd': ['python'], 'ie': ['utf-8']}
8 """所得的字典的value都是以列表的形式存在,若列表中都只有一个值"""
9 result = {key: params[key][0] for key in params}  # {'wd': 'python', 'ie': 'utf-8'}

 

posted @ 2019-03-05 11:54  Ivy丶  阅读(9823)  评论(0)    收藏  举报