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和C语言混合编程实例
Jun 04 Python
Python文件右键找不到IDLE打开项解决办法
Jun 08 Python
python处理xml文件的方法小结
May 02 Python
Python之两种模式的生产者消费者模型详解
Oct 26 Python
Python3.5内置模块之random模块用法实例分析
Apr 26 Python
Pytorch实现GoogLeNet的方法
Aug 18 Python
tensorflow指定GPU与动态分配GPU memory设置
Feb 03 Python
Python如何生成xml文件
Jun 04 Python
Python API 操作Hadoop hdfs详解
Jun 06 Python
浅析Python 多行匹配模式
Jul 24 Python
python+requests实现接口测试的完整步骤
Oct 27 Python
Python 图片添加美颜效果
Apr 28 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
Linux下进行MYSQL编程时插入中文乱码的解决方案
2007/03/15 PHP
php检测iis环境是否支持htaccess的方法
2014/02/18 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
解决laravel(5.5)访问public报错的问题
2019/10/12 PHP
JS之小练习代码
2008/10/12 Javascript
javascript事件问题
2009/09/05 Javascript
探讨javascript是不是面向对象的语言
2013/11/21 Javascript
js函数定时器实现定时读取系统实时连接数
2014/04/30 Javascript
JavaScript学习笔记之JS事件对象
2015/01/22 Javascript
原生js和jquery实现图片轮播淡入淡出效果
2015/04/23 Javascript
JavaScript操作HTML DOM节点的基础教程
2016/03/11 Javascript
深入剖析JavaScript面向对象编程
2016/07/12 Javascript
JS简单生成两个数字之间随机数的方法
2016/08/03 Javascript
BootStrap table表格插件自适应固定表头(超好用)
2016/08/24 Javascript
微信小程序实现多个按钮toggle功能的实例
2017/06/13 Javascript
浅谈mvvm-simple双向绑定简单实现
2018/04/18 Javascript
JS非行间样式获取函数的实例代码
2018/06/05 Javascript
JavaScript设计模式之代理模式简单实例教程
2018/07/03 Javascript
vue-cli 打包后提交到线上出现 "Uncaught SyntaxError:Unexpected token" 报错
2018/11/06 Javascript
VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决
2020/09/27 Javascript
[01:07:11]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python 换位密码算法的实例详解
2017/07/19 Python
python实现kMeans算法
2017/12/21 Python
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
Python垃圾回收机制三种实现方法
2020/04/27 Python
使用Python-OpenCV消除图像中孤立的小区域操作
2020/07/05 Python
Python实现Word文档转换Markdown的示例
2020/12/22 Python
CSS的pointer-events属性详细介绍(作用和注意事项)
2014/04/23 HTML / CSS
如何使用amaze ui的分页样式封装一个通用的JS分页控件
2020/08/21 HTML / CSS
全球领先的美容用品专卖店:Beauty Plus Salon
2018/09/04 全球购物
男方父母证婚词
2014/01/12 职场文书
质量承诺书格式
2014/05/20 职场文书
食堂采购员岗位职责
2015/04/03 职场文书
环境保护宣传标语大全!
2019/06/28 职场文书
PyTorch 如何自动计算梯度
2021/05/23 Python
Spring 使用注解开发
2022/05/20 Java/Android