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 encode和decode的妙用
Sep 02 Python
Python中的filter()函数的用法
Apr 27 Python
Python中使用ElementTree解析XML示例
Jun 02 Python
Pycharm学习教程(3) 代码运行调试
May 03 Python
Python pandas常用函数详解
Feb 07 Python
Python实现的读取电脑硬件信息功能示例
May 30 Python
Flask框架响应、调度方法和蓝图操作实例分析
Jul 24 Python
python实现的web监控系统
Apr 27 Python
Django利用AJAX技术实现博文实时搜索
May 06 Python
python opencv通过4坐标剪裁图片
Jun 05 Python
一篇文章弄懂Python关键字、标识符和变量
Jul 15 Python
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
Oct 16 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中使用redis
2013/11/04 PHP
php中请求url的五种方法总结
2017/07/13 PHP
javascript中expression的用法整理
2014/05/13 Javascript
js动态创建标签示例代码
2014/06/09 Javascript
jquery实现textarea输入框限制字数的方法
2015/01/15 Javascript
JQuery中DOM事件绑定用法详解
2015/06/13 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
如何提高javascript加载速度
2016/12/26 Javascript
js实现鼠标拖动功能
2017/03/20 Javascript
Angular.js前台传list数组由后台spring MVC接收数组示例代码
2017/07/31 Javascript
Vue框架之goods组件开发详解
2018/01/25 Javascript
jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】
2018/12/29 jQuery
用Cordova打包Vue项目的方法步骤
2019/02/02 Javascript
原生js实现ajax请求和JSONP跨域请求操作示例
2020/03/14 Javascript
js 闭包深入理解与实例分析
2020/03/19 Javascript
《javascript设计模式》学习笔记七:Javascript面向对象程序设计组合模式详解
2020/04/08 Javascript
Python 连连看连接算法
2008/11/22 Python
Python实现telnet服务器的方法
2015/07/10 Python
django表单实现下拉框的示例讲解
2018/05/29 Python
python识别图像并提取文字的实现方法
2019/06/28 Python
推荐值得学习的12款python-web开发框架
2020/08/10 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
2021/01/06 Python
美国瑜伽服装和装备购物网站:Mukha Yoga
2019/02/22 全球购物
Rowdy Gentleman服装和配饰:美好时光
2019/09/24 全球购物
静态变量和实例变量的区别
2015/07/07 面试题
送给程序员的20个Java集合面试问题
2014/08/06 面试题
诉讼代理人授权委托书
2014/04/08 职场文书
写求职信要注意什么问题
2014/04/12 职场文书
我读书我快乐演讲稿
2014/05/07 职场文书
教师节感恩老师演讲稿
2014/08/28 职场文书
2014年学习厉行节约反对浪费思想汇报
2014/09/10 职场文书
十佳少先队员演讲稿
2014/09/12 职场文书
2014年卫生工作总结
2014/11/27 职场文书
绿色环保倡议书
2015/04/28 职场文书
零基础学java之方法的定义与调用详解
2022/04/10 Java/Android