python知识捡拾---URL相关

python中用urlparse来对URL字符进行解析

urlparse方法由两个可选的参数:default_scheme和allow_fragments
default_scheme主要用来为不包含协议部分的URL指定默认协议,此参数默认值为空字符串
allow_fragments则用来指示是否可以对地址进行分片,此参数默认值为"True"
实例:

import urlparse
r=urlparse.urlparse('http://alice:secret@www.hostname.com:80/% 7Ealice/python.cgi?query=text#sample')
print r
print r.scheme
print r.netloc
print r.path
print r.params
print r.query
print r.fragment
print r.username
print r.password
print r.hostname
print r.port
print r.geturl()
r2=urlparse.urlparse("www.python.org/about","http")
print r2
URL的拼合:

当提供了URL中的绝对地址和相对地址的时候,可以使用urlparse模块中的urljoin方法将其拼合起来

import urlparse
r=urlparse.urljoin("http://www.zeroc.com","ice.html")
print r
结果:
http://www.zeroc.com/ice.html

该方法使用时如果相对URL中有协议字段,则优先使用相对URL中的协议,否则使用绝对URL中的协议字段

import urlparse
r=urlparse.urljoin("http://www.python.org","www.python.org/faq")
print r

http://www.python.org/www.python.org/faq
URL的分解:
import urlparse
r=urlparse.urlsplit("http://www.python.org:80/faq.cgi?src=fie")
print r

SplitResult(scheme='http', netloc='www.python.org:80', path='/faq.cgi', query='src=fie', fragment='')

注意:

a={'keyword1':'value1','keyword2':'value2'}
b={'keyword2':'value2','keyword1':'value1'}
print a is b    #False
print a==b		#True

虽然a,b输出的字符串是一样的,但两者所接受的字典结构数据输入的时候并不一样,这是由
字典内部的无序性造成的

urlencode方法可以接受一个可选的参数,默认为False,即当查询数据列表中的value

也为列表的时候,将其整个使用quote_plus方法进行编码,并作为查询参数的值。而当其值为True的时候,对于上述的这种情况会将value列表中的每个值都和keyword组成一个查询参数值对
实例:

u2=urllib.urlencode([('keyword',('value1','value2','value3'))])
print u2  #keyword=%28%27value1%27%2C+%27value2%27%2C+%27value3%27%29

u3 = urllib.urlencode([('keyword',('value1','value2','value3'))],True)
print u3  #keyword=value1&keyword=value2&keyword=value3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值