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+tkinter模拟“记住我”自动登录实例代码
Jan 16 Python
浅析python协程相关概念
Jan 20 Python
numpy返回array中元素的index方法
Jun 27 Python
对numpy数据写入文件的方法讲解
Jul 09 Python
详解Python字符串切片
May 20 Python
pip 安装库比较慢的解决方法(国内镜像)
Oct 06 Python
Pytorch中实现只导入部分模型参数的方式
Jan 02 Python
python中68个内置函数的总结与介绍
Feb 24 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
Jul 01 Python
Pytorch 图像变换函数集合小结
Feb 01 Python
Python LMDB库的使用示例
Feb 14 Python
Python装饰器的练习题
Nov 23 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
经典的PHPer为什么被认为是草根?
2007/04/02 PHP
通用PHP动态生成静态HTML网页的代码
2010/03/04 PHP
php防注入及开发安全详细解析
2013/08/09 PHP
详解PHP的Yii框架中的Controller控制器
2016/03/29 PHP
Laravel 集成 Geetest验证码的方法
2018/05/14 PHP
PHP连接MySQL数据库并以json格式输出
2018/05/21 PHP
通过DOM脚本去设置样式信息
2010/09/19 Javascript
如何设置一定时间内只能发送一次请求
2014/02/28 Javascript
jQuery中prevAll()方法用法实例
2015/01/08 Javascript
javascript实现限制上传文件大小
2015/02/06 Javascript
Vue.js中用v-bind绑定class的注意事项
2016/12/13 Javascript
Javascript实现倒计时(防页面刷新)实例
2016/12/13 Javascript
JS中append字符串包含onclick无效传递参数失败的解决方案
2016/12/26 Javascript
详解Nodejs之静态资源处理
2017/06/05 NodeJs
Vue插件从封装到发布的完整步骤记录
2019/02/28 Javascript
webpack4.x下babel的安装、配置及使用详解
2019/03/07 Javascript
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
vue 实现setInterval 创建和销毁实例
2020/07/21 Javascript
vue中配置scss全局变量的步骤
2020/12/28 Vue.js
[02:33]2014DOTA2 TI每日综述 LGD涉险晋级DK闯入胜者组
2014/07/14 DOTA
Python装饰器decorator用法实例
2014/11/10 Python
Django使用Mysql数据库已经存在的数据表方法
2018/05/27 Python
python验证码识别教程之利用滴水算法分割图片
2018/06/05 Python
对Tensorflow中的矩阵运算函数详解
2018/07/27 Python
Python如何调用JS文件中的函数
2019/08/16 Python
python 计算两个列表的相关系数的实现
2019/08/29 Python
python 日志 logging模块详细解析
2020/03/31 Python
区分python中的进程与线程
2020/08/13 Python
PyTorch中Tensor的数据类型和运算的使用
2020/09/03 Python
Django创建一个后台的基本步骤记录
2020/10/02 Python
英国和爱尔兰最大的地毯零售商:Kukoon
2018/12/17 全球购物
银行实习人员自我鉴定
2013/09/22 职场文书
物业管理个人自我评价
2013/11/08 职场文书
行政部主管岗位职责
2013/12/28 职场文书
外企财务年会演讲稿
2014/01/03 职场文书
python处理json数据文件
2022/04/11 Python