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实现SMTP邮件发送功能
Jun 16 Python
Python编程django实现同一个ip十分钟内只能注册一次
Nov 03 Python
python做量化投资系列之比特币初始配置
Jan 23 Python
Python使用ctypes调用C/C++的方法
Jan 29 Python
详解Python匿名函数(lambda函数)
Apr 19 Python
PyTorch基本数据类型(一)
May 22 Python
网易有道2017内推编程题 洗牌(python)
Jun 19 Python
使用Python实现文字转语音并生成wav文件的例子
Aug 08 Python
在python里使用await关键字来等另外一个协程的实例
May 04 Python
Python图像识别+KNN求解数独的实现
Nov 13 Python
python 发送get请求接口详解
Nov 17 Python
Python 数据分析之逐块读取文本的实现
Dec 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设计模式 php实现抽象工厂模式
2015/12/07 PHP
php短信接口代码
2016/05/13 PHP
PHP实现 APP端微信支付功能
2018/06/22 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
Google Map API更新实现用户自定义标注坐标
2009/07/29 Javascript
javascript整除实现代码
2010/11/23 Javascript
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
2013/01/16 Javascript
得到form下的所有的input的js代码
2013/11/07 Javascript
DOM基础教程之事件类型
2015/01/20 Javascript
jQuery实现移动 和 渐变特效的点击事件
2015/02/26 Javascript
jQuery实现图像旋转动画效果
2016/05/29 Javascript
js小数计算小数点后显示多位小数的实现方法
2016/05/30 Javascript
Vue + Webpack + Vue-loader学习教程之功能介绍篇
2017/03/14 Javascript
基于EasyUI的基础之上实现树形功能菜单
2017/06/28 Javascript
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
浅析Vue中拆分视图层代码的5点建议
2019/08/15 Javascript
微信小程序wx.request的简单封装
2019/11/13 Javascript
js判断非127开头的IP地址的实例代码
2020/01/05 Javascript
学习python的几条建议分享
2013/02/10 Python
用python登录Dr.com思路以及代码分享
2014/06/25 Python
介绍Python中的fabs()方法的使用
2015/05/14 Python
python下实现二叉堆以及堆排序的示例
2017/09/29 Python
python http接口自动化脚本详解
2018/01/02 Python
在Pycharm中执行scrapy命令的方法
2019/01/16 Python
python面向对象法实现图书管理系统
2019/04/19 Python
python导包的几种方法(自定义包的生成以及导入详解)
2019/07/15 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
2020/01/14 Python
如何基于Python Matplotlib实现网格动画
2020/07/20 Python
python使用requests库爬取拉勾网招聘信息的实现
2020/11/20 Python
详解pycharm自动import所需的库的操作方法
2020/11/30 Python
海外淘书首选:AbeBooks
2017/07/31 全球购物
英国在线电子和小工具商店:TecoBuy
2018/10/06 全球购物
几道PHP的面试题
2012/05/19 面试题
社团活动总结格式
2014/08/29 职场文书
元旦标语大全
2014/10/09 职场文书
活动主持人开场白
2015/05/28 职场文书