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初学者的一些编程技巧
Apr 03 Python
Python中的rjust()方法使用详解
May 19 Python
python爬虫的工作原理
Mar 05 Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
Nov 08 Python
Python实现GUI学生信息管理系统
Apr 05 Python
浅谈Python接口对json串的处理方法
Dec 19 Python
Python线上环境使用日志的及配置文件
Jul 28 Python
Python3 shutil(高级文件操作模块)实例用法总结
Feb 19 Python
python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例
Feb 28 Python
如何基于python3和Vue实现AES数据加密
Mar 27 Python
如何在keras中添加自己的优化器(如adam等)
Jun 19 Python
Python logging模块handlers用法详解
Aug 14 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 实现判断用户是否手机访问
2015/01/21 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
php里array_work用法实例分析
2015/07/13 PHP
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
2016/08/01 PHP
从阿里妈妈发现的几个不错的表单验证函数
2007/09/21 Javascript
JavaScript获取GridView中用户点击控件的行号,列号
2009/04/14 Javascript
ExtJs之带图片的下拉列表框插件
2010/03/04 Javascript
11款新鲜的jQuery插件[附所有demo下载]
2011/01/24 Javascript
JavaScript中的关键字"VAR"使用详解 分享
2013/07/31 Javascript
编写js扩展方法判断一个数组中是否包含某个元素
2013/11/08 Javascript
js生成随机数之random函数随机示例
2013/12/20 Javascript
Node.js与PHP、Python的字符处理性能对比
2014/07/06 Javascript
jquery实现的省市区三级联动
2015/04/02 Javascript
jquery+正则实现统一的表单验证
2015/09/20 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
2016/03/07 Javascript
jquery使用on绑定a标签无效 只能用live解决
2016/06/02 Javascript
jQuery Select下拉框操作小结(推荐)
2016/07/22 Javascript
AngularJS表格详解及示例代码
2016/08/17 Javascript
解析JavaScript模仿块级作用域
2016/12/29 Javascript
想用好React的你必须要知道的一些事情
2017/07/24 Javascript
AngularJS基于http请求实现下载php生成的excel文件功能示例
2018/01/23 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
2018/12/06 Javascript
基于Node.js的大文件分片上传示例
2019/06/19 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
vue实现表单录入小案例
2019/09/27 Javascript
vue实现购物车加减
2020/05/30 Javascript
如何实现echarts markline标签名显示自己想要的
2020/07/20 Javascript
Django imgareaselect手动剪切头像实现方法
2015/05/26 Python
浅谈Python数据类型判断及列表脚本操作
2016/11/04 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
2019/08/23 Python
Django中提示消息messages的设置方式
2019/11/15 Python
介绍一下Linux文件的记录形式
2012/04/18 面试题
文明礼仪事迹材料
2014/01/09 职场文书
补充协议书范本
2014/04/23 职场文书
公司应聘自荐书
2014/06/14 职场文书
项目合作意向书模板
2014/07/29 职场文书