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的内建模块collections的教程
Apr 28 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
May 17 Python
Python 性能优化技巧总结
Nov 01 Python
python 中的int()函数怎么用
Oct 17 Python
python3+PyQt5使用数据库窗口视图
Apr 24 Python
Python分布式进程中你会遇到的问题解析
May 28 Python
Pandas之DataFrame对象的列和索引之间的转化
Jun 25 Python
Pandas透视表(pivot_table)详解
Jul 22 Python
Pytorch GPU显存充足却显示out of memory的解决方式
Jan 13 Python
python自然语言处理之字典树知识总结
Apr 25 Python
上手简单,功能强大的Python爬虫框架——feapder
Apr 27 Python
python使用BeautifulSoup 解析HTML
Apr 24 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
利用js调用后台php进行数据处理原码
2006/10/09 PHP
PHP中实现中文字符进制转换原理分析
2011/12/06 PHP
解析dedecms空间迁移步骤详解
2013/05/15 PHP
使用PHP uniqid函数生成唯一ID
2015/11/18 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
验证用户是否修改过页面的数据的实现方法
2008/09/26 Javascript
jcarousellite.js 基于Jquery的图片无缝滚动插件
2010/12/30 Javascript
JS 仿腾讯发表微博的效果代码
2013/12/25 Javascript
js函数与php函数的区别实例浅析
2015/01/12 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
2015/03/13 Javascript
每天一篇javascript学习小结(RegExp对象)
2015/11/17 Javascript
最棒的Angular2表格控件
2016/08/10 Javascript
JQ选择器_选择同类元素的第N个子元素的实现方法
2016/09/08 Javascript
vue axios同步请求解决方案
2017/09/29 Javascript
解决angularjs service中依赖注入$scope报错的问题
2018/10/02 Javascript
node实现生成带参数的小程序二维码并保存到本地功能示例
2018/12/05 Javascript
Vue包大小优化的实现(从1.72M到94K)
2021/02/18 Vue.js
[02:16]2018年度CS GO最具人气选手-完美盛典
2018/12/16 DOTA
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
Python中类的定义、继承及使用对象实例详解
2015/04/30 Python
python实现在sqlite动态创建表的方法
2015/05/08 Python
Python画图实现同一结点多个柱状图的示例
2019/07/07 Python
如何理解python面向对象编程
2020/06/01 Python
CSS3颜色值RGBA与渐变色使用介绍
2020/03/06 HTML / CSS
使用canvas绘制超炫时钟
2014/12/17 HTML / CSS
Top Villas美国:豪华别墅出租和度假屋
2018/07/10 全球购物
Otticanet意大利:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
服装销售人员求职自我评价
2013/09/26 职场文书
令人啧啧称赞的经理推荐信
2013/11/07 职场文书
仓库管理计划书
2014/05/04 职场文书
付款承诺函范文
2015/01/21 职场文书
佛光寺导游词
2015/02/10 职场文书
工会经费申请报告
2015/05/15 职场文书
2016年中学端午节主题活动总结
2016/04/01 职场文书
HTML中的表格元素介绍
2022/02/28 HTML / CSS
Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD的解决方法
2022/07/23 数码科技