url参数和字典的相互转化

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

  1.将字典转成url参数

   (1)、使用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

   (2)、使用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

  2.将url参数转成字典

   (1)、使用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'}

猜你喜欢

转载自www.cnblogs.com/ivy-blogs/p/10475825.html