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的ORM框架中SQLAlchemy库的查询操作的教程
Apr 25 Python
使用Python绘制图表大全总结
Feb 11 Python
Python 判断 有向图 是否有环的实例讲解
Feb 01 Python
使用Selenium破解新浪微博的四宫格验证码
Oct 19 Python
Python+OpenCV感兴趣区域ROI提取方法
Jan 10 Python
django+tornado实现实时查看远程日志的方法
Aug 12 Python
Django框架序列化与反序列化操作详解
Nov 01 Python
python列表推导和生成器表达式知识点总结
Jan 10 Python
tensorflow 保存模型和取出中间权重例子
Jan 24 Python
python ETL工具 pyetl
Jun 07 Python
python用Configobj模块读取配置文件
Sep 26 Python
Python内置数据类型中的集合详解
Mar 18 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
mysql_num_rows VS COUNT 效率问题分析
2011/04/23 PHP
如何获知PHP程序占用多少内存(memory_get_usage)
2012/09/23 PHP
使用php记录用户通过搜索引擎进网站的关键词
2014/02/13 PHP
php求正负数数组中连续元素最大值示例
2014/04/11 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
2016/09/22 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
php关联数组与索引数组及其显示方法
2018/03/12 PHP
jQuery toggle()设置CSS样式
2009/11/05 Javascript
jQuery 对Select的操作备忘记录
2011/07/04 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
2013/04/19 Javascript
js 实现菜单左右滚动显示示例介绍
2013/11/21 Javascript
浅谈JavaScript Date日期和时间对象
2014/12/29 Javascript
JavaScript事件委托技术实例分析
2015/02/06 Javascript
在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法
2016/08/05 Javascript
让DIV的滚动条自动滚动到最底部的3种方法(推荐)
2016/09/24 Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
2016/10/13 Javascript
浅谈JavaScript的闭包函数
2016/12/08 Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
2018/10/28 Javascript
vue接入腾讯防水墙代码
2019/05/07 Javascript
js实现贪吃蛇小游戏
2019/10/29 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
Python基于回溯法子集树模板解决找零问题示例
2017/09/11 Python
python实现八大排序算法(1)
2017/09/14 Python
详解python中各种文件打开模式
2020/01/19 Python
Python之Django自动实现html代码(下拉框,数据选择)
2020/03/13 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
2020/04/09 Python
利用Python的folium包绘制城市道路图的实现示例
2020/08/24 Python
法国家具及室内配件店:home24
2017/01/21 全球购物
DJI全球:DJI Global
2021/03/15 全球购物
加拿大户外探险购物网站:SAIL
2020/06/27 全球购物
.NET面试问题集
2015/12/08 面试题
药学专业毕业生求职信
2013/10/20 职场文书
python实现MD5进行文件去重的示例代码
2021/07/09 Python
PyTorch中permute的使用方法
2022/04/26 Python