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 相关文章推荐
pytyon 带有重复的全排列
Aug 13 Python
Python编程之微信推送模板消息功能示例
Aug 21 Python
对python requests发送json格式数据的实例详解
Dec 19 Python
python print出共轭复数的方法详解
Jun 25 Python
Python3.9又更新了:dict内置新功能
Feb 28 Python
Numpy 理解ndarray对象的示例代码
Apr 03 Python
使用Keras建立模型并训练等一系列操作方式
Jul 02 Python
MATLAB数学建模之画图汇总
Jul 16 Python
如何利用python和DOS获取wifi密码
Mar 31 Python
只需要100行Python代码就可以实现的贪吃蛇小游戏
May 27 Python
Flask搭建一个API服务器的步骤
May 28 Python
Python快速实现一键抠图功能的全过程
Jun 29 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左侧多级菜单动态的解决方案
2010/02/01 Javascript
javascript 进阶篇2 CSS XML学习
2012/03/14 Javascript
javascript中节点的最近的相关节点访问方法
2013/03/20 Javascript
对JavaScript中this指针的新理解分享
2015/01/31 Javascript
同一个网页中实现多个JavaScript特效的方法
2015/02/02 Javascript
AngularJS单选框及多选框实现双向动态绑定
2016/01/13 Javascript
基于jquery编写的放大镜插件
2016/03/23 Javascript
JS实现刷新父页面不弹出提示框的方法
2016/06/22 Javascript
Javascript的动态增加类的实现方法
2016/10/20 Javascript
原生JS实现圣旨卷轴展开效果
2017/03/06 Javascript
微信小程序 页面跳转如何实现传值
2017/04/05 Javascript
JavaScript反弹动画效果的实现代码
2017/07/13 Javascript
详解在vue-cli中引用jQuery、bootstrap以及使用sass、less编写css
2017/11/08 jQuery
ES6使用export和import实现模块化的方法
2018/09/10 Javascript
如何在Angular应用中创建包含组件方法示例
2019/03/23 Javascript
[05:23]DOTA2-DPC中国联赛2月1日Recap集锦
2021/03/11 DOTA
python实现自动更换ip的方法
2015/05/05 Python
在DigitalOcean的服务器上部署flaskblog应用
2015/12/19 Python
遗传算法之Python实现代码
2017/10/10 Python
python生成tensorflow输入输出的图像格式的方法
2018/02/12 Python
pip命令无法使用的解决方法
2018/06/12 Python
python 字符串追加实例
2019/07/20 Python
python使用dlib进行人脸检测和关键点的示例
2020/12/05 Python
CSS3媒体查询(Media Queries)介绍
2013/09/12 HTML / CSS
TripAdvisor西班牙官方网站:全球领先的旅游网站
2018/01/10 全球购物
密封类可以有虚函数吗
2014/08/11 面试题
会计学专业学生的求职信范文
2014/01/27 职场文书
中学家长会邀请函
2014/02/03 职场文书
房产代理公证处委托书
2014/04/04 职场文书
小学生手册家长评语
2014/04/16 职场文书
入党个人总结范文
2015/03/02 职场文书
工作犯错保证书
2015/05/11 职场文书
2019员工保密协议书(3篇)
2019/09/23 职场文书
微信小程序基础教程之echart的使用
2021/06/01 Javascript
java executor包参数处理功能 
2022/02/15 Java/Android
Go语言 详解net的tcp服务
2022/04/14 Golang