python中url什么意思_python url解析

在开始Python编程之前我们先来看看一个关与url的知识

在url中会有一些特殊字符,如果你写过cgi程序,并且提交一个表单去调用你的cgi,你会很清楚的

像?name=aiqier&age=21这样的参数传递

下面总结一下常见的url特殊字符的含义

空格换成加号(+)

正斜杠(/)分隔目录和子目录

问号(?)分隔URL和查询

百分号(%)制定特殊字符

#号指定书签

&号分隔参数

如果需要在URL中用到,需要将这些特殊字符换成相应的十六进制的值

字符 URL编码值

空格 %20

" %22

# %23

% %25

& %26

( %28

) %29

+ %2B

, %2C

/ %2F

: %3A

; %3B

< %3C

= %3D

> %3E

? %3F

@ %4o

\ %5C

| %7C

现在问题来了,如果你的参数本身就有像”&”这样的字符,肿么办?

比如name=aiqier&liu&age=21(说明,aiqier&liu和21是我要传递的参数)

所以我们要对url的字符进行转义用到urllib.quote函数

试试如下代码

myurl = 'http://www/~wo/lai-le/he.py?name=tom&age=6'

urllib.quote(myurl)

quote和quote_plus差不多,quote_plus会把空格转义成+号,你可以试试

当然python为我们提供了对应的反函数,我们可把那些字符解码

urllib.unquote和urllib.unquote_plus()

urllib.urlencode把映射(键值对)转化成url格式编码的字符串

myarg = {'name':'aiqier','age':'&15'}

urllib.urlencode(myarg)

你会发现,它同时也调用了quote_plus()进行编码

对url字符串的操作urlparse模块

你在学习string时会遇到什么join,split之类的函数,在学习文件操作时,会遇到跟文件路径有关的join函数,split函数

所以在对url操作是你会遇到一个urljoin,你是不是已经猜到它的作用了?

urljoin(baseurl,newurl)将baseurl和newurl合并成一个完整的url

urlparse.urljoin('http://www.myweb.com/something.html','but/not/anything.html')

urlparse.urlparse对url字符拆分成各个部件

url的结构是这样的:

协议://授权/路径;参数?连接符#拆分文档中的特殊锚

urlparse.urlparse(myurl)

当然也有对应的反函数urlunparse

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值