博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python3 urllib.parse 常用函数示例
阅读量:6264 次
发布时间:2019-06-22

本文共 1793 字,大约阅读时间需要 5 分钟。

1、获取url参数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
>>> 
from 
urllib 
import 
parse
>>> url 
= 
r
'https://docs.python.org/3.5/search.html?q=parse&check_keywords=yes&area=default'
>>> parseResult 
= 
parse.urlparse(url)
>>> parseResult
ParseResult(scheme
=
'https'
, netloc
=
'docs.python.org'
, path
=
'/3.5/search.html'
, params
=
'
', query='
q
=
parse&check_keywords
=
yes&area
=
default
', fragment='
')
>>> param_dict 
= 
parse.parse_qs(parseResult.query)
>>> param_dict
{
'q'
: [
'parse'
], 
'check_keywords'
: [
'yes'
], 
'area'
: [
'default'
]}
>>> q 
= 
param_dict[
'q'
][
0
]
>>> q
'parse'
#注意:加号会被解码,可能有时并不是我们想要的
>>> parse.parse_qs(
'proxy=183.222.102.178:8080&task=XXXXX|5-3+2'
)
{
'proxy'
: [
'183.222.102.178:8080'
], 
'task'
: [
'XXXXX|5-3 2'
]}

2、/

1
2
3
4
5
6
7
>>> 
from 
urllib 
import 
parse
>>> parse.parse_qs(
'action=addblog&job=modify&tid=1766670'
)
{
'tid'
: [
'1766670'
], 
'action'
: [
'addblog'
], 
'job'
: [
'modify'
]} 
#注意和第三个并不一样
>>> parse.parse_qsl(
'action=addblog&job=modify&tid=1766670'
)
[(
'action'
'addblog'
), (
'job'
'modify'
), (
'tid'
'1766670'
)]
>>> 
dict
(parse.parse_qsl(
'action=addblog&job=modify&tid=1766670'
)) 
#注意和第一个并不一样
{
'tid'
'1766670'
'action'
'addblog'
'job'
'modify'
}

3、

1
2
3
4
5
6
7
>>> 
from 
urllib 
import 
parse
>>> query 
= 
{
    
'name'
'walker'
,
    
'age'
99
,
    
}
>>> parse.urlencode(query)
'name=walker&age=99'

4、/

1
2
3
4
5
>>> 
from 
urllib 
import 
parse
>>> parse.quote(
'a&b/c'
)    
#未编码斜线
'a%26b/c'
>>> parse.quote_plus(
'a&b/c'
)    
#编码了斜线
'a%26b%2Fc'

5、/

1
2
3
4
5
from 
urllib 
import 
parse
>>> parse.unquote(
'1+2'
)    
#不解码加号
'1+2'
>>> parse.unquote(
'1+2'
)    
#把加号解码为空格
'1 2'

  如果你还想问为什么没有urldecode——再把示例1看五遍。^_^

相关阅读:

1、

2、 (各种base编码。base58、base64等)

3、

***  ***

本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/1766670如需转载请自行联系原作者

RQSLT

你可能感兴趣的文章
(转)jquery easyui treegrid使用小结 (主要讲的是如何编辑easyui中的行信息包括添加 下拉列表等)...
查看>>
iOS使用宏写单例
查看>>
Isotig & cDNA & gene structure & alternative splicing & gene loci & 表达谱
查看>>
3、Cocos2dx 3.0游戏开发找小三之搭建开发环境
查看>>
携程Apollo(阿波罗)配置中心使用Google代码风格文件(在Eclipse使用Google代码风格)(配合阿里巴巴代码规约快速设置)...
查看>>
Hadoop(七)HDFS容错机制详解
查看>>
字符串中去除多余的空格保留一个(C#)
查看>>
Python随机字符串验证码
查看>>
SQL中 patindex函数的用法
查看>>
Vmware 虚拟机无法启动
查看>>
LeetCode: Partition List 解题报告
查看>>
如何查看Python对象的属性
查看>>
你所需要知道的一些git 的使用命令:历史
查看>>
mysql explain输出中type的取值说明
查看>>
iPhone开发之 - 苹果推送通知服务(APNs)编程
查看>>
linux下so动态库一些不为人知的秘密(上)
查看>>
文本框设置只读,后台可获取
查看>>
JAVA:URL之String组件
查看>>
架构,改善程序复用性的设计~目录(附核心原代码)
查看>>
逆向反汇编代码推算C++的局部变量
查看>>