Python爬虫:url中带字典列表参数的编码转换方法


Posted in Python onAugust 21, 2019

平时见到的url参数都是key-value, 一般vlaue都是字符串类型的

如果有幸和我一样遇到字典,列表等参数,那么就幸运了

python2代码

import json
from urllib import urlencode

# 1. 直接将url编码
params = {
  "name": "Tom",
  "hobby": ["ball", "swimming"],
  "books": [{"name": "语文", "pages": 20}]
}

print(urlencode(params))
"""
hobby=%5B%27ball%27%2C+%27swimming%27%5D&
books=%5B%7B%27name%27%3A+%27%5Cxe8%5Cxaf%5Cxad%5Cxe6%5Cx96%5Cx87%27%2C+%27pages%27%3A+20%7D%5D&
name=Tom
"""

# 2. 先用json序列化字典和列表参数
params = {
  "name": "Tom",
  "hobby": json.dumps(["ball", "swimming"]),
  "books": json.dumps([{"name": "语文", "pages": 20}])
}

print(urlencode(params))

"""
hobby=%5B%22ball%22%2C+%22swimming%22%5D&
books=%5B%7B%22name%22%3A+%22%5Cu8bed%5Cu6587%22%2C+%22pages%22%3A+20%7D%5D&
name=Tom
"""

观察1 和2 序列化出来的url参数不是一样的,如果第一种方式的url不能正常访问,那么就用第二种

Python 相关文章推荐
Python基类函数的重载与调用实例分析
Jan 12 Python
python 文件操作api(文件操作函数)
Aug 28 Python
Python中%是什么意思?python中百分号如何使用?
Mar 20 Python
python 列表,数组,矩阵两两转换tolist()的实例
Apr 04 Python
Python判断两个list是否是父子集关系的实例
May 04 Python
Pycharm导入Python包,模块的图文教程
Jun 13 Python
Python 使用type来定义类的实现
Nov 19 Python
使用Python实现画一个中国地图
Nov 23 Python
python安装和pycharm环境搭建设置方法
May 27 Python
Python如何发送与接收大型数组
Aug 07 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
Sep 28 Python
python 录制系统声音的示例
Dec 21 Python
Python GUI学习之登录系统界面篇
Aug 21 #Python
Python爬虫:将headers请求头字符串转为字典的方法
Aug 21 #Python
利用python在大量数据文件下删除某一行的例子
Aug 21 #Python
Python 仅获取响应头, 不获取实体的实例
Aug 21 #Python
详解用Python为直方图绘制拟合曲线的两种方法
Aug 21 #Python
Python 使用指定的网卡发送HTTP请求的实例
Aug 21 #Python
Python turtle绘画象棋棋盘
Aug 21 #Python
You might like
php绘图中显示不出图片的原因及解决
2014/03/05 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
2019/04/12 PHP
基于jQuery的公告无限循环滚动实现代码
2012/05/11 Javascript
JS 跳转页面延迟2种方法
2013/03/29 Javascript
javascript:void(0)的作用示例介绍
2013/10/28 Javascript
javascript模拟枚举的简单实例
2014/03/06 Javascript
javascript匀速运动实现方法分析
2016/01/08 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
2016/05/03 Javascript
Jquery组件easyUi实现选项卡切换示例
2016/08/23 Javascript
vue生成token保存在客户端localStorage中的方法
2017/10/25 Javascript
vue+axios新手实践实现登陆的示例代码
2018/06/06 Javascript
VUE 组件转换为微信小程序组件的方法
2019/11/06 Javascript
如何实现iframe父子传参通信
2020/02/05 Javascript
Vue实现简单的留言板
2020/10/23 Javascript
[46:12]完美世界DOTA2联赛循环赛 DM vs Matador BO2第一场 11.04
2020/11/04 DOTA
整理Python最基本的操作字典的方法
2015/04/24 Python
用python记录运行pid,并在需要时kill掉它们的实例
2017/01/16 Python
python中装饰器级连的使用方法示例
2017/09/29 Python
Python爬豆瓣电影实例
2018/02/23 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
2018/03/29 Python
pytorch numpy list类型之间的相互转换实例
2019/08/18 Python
python3.7 openpyxl 删除指定一列或者一行的代码
2019/10/08 Python
使用python模拟高斯分布例子
2019/12/09 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
django使用多个数据库的方法实例
2021/03/04 Python
使用CSS3实现SVG路径描边动画效果入门教程
2019/10/21 HTML / CSS
美国新兴城市生活方式零售商:VILLA
2017/12/06 全球购物
Oasis服装官网:时尚女装在线
2020/07/09 全球购物
工厂仓管员岗位职责
2014/01/01 职场文书
实习单位接收函模板
2014/01/10 职场文书
天猫活动策划方案
2014/08/21 职场文书
幼儿园个人师德总结
2015/02/06 职场文书
服务行业标语口号
2015/12/26 职场文书
Python中异常处理用法
2021/11/27 Python