源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

python中urlparse模块介绍与使用示例

  • 时间:2022-01-18 18:11 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:python中urlparse模块介绍与使用示例
[b]简介[/b] urlparse模块主要是用于解析url中的参数  对url按照一定格式进行 拆分或拼接。urlparse库用于把url解析为各个组件,支持file,ftp,http,https, imap, mailto, mms, news, nntp, prospero, rsync, rtsp, rtspu, sftp, shttp, sip, sips, snews, svn, svn+ssh, telnet等几乎所有的形式。 [b]注意:[/b]根据其官网的说明,在Python3.0中,此库已经更名为urllib.parse了。 [b]使用说明[/b] [b]1.urlparse.urlparse[/b] 将url分为6个部分,返回一个包含6个字符串项目的元组:协议、位置、路径、参数、查询、片段。
import urlparse
url_change = urlparse.urlparse('https://i.cnblogs.com/EditPosts.aspx?opt=1')
print url_change
输出结果为:
ParseResult(scheme='https', netloc='i.cnblogs.com', path='/EditPosts.aspx', params='', query='opt=1', fragment='')
其中 scheme 是协议  netloc 是域名服务器  path 相对路径  params是参数,query是查询的条件
urlparse.parse_qs(urlparse.urlparse(url).query)
这个是获取urlparse分割后元祖中的某一项  urlparse.urlparse(url).query   获取查询条件 parse_qs 有几种实现 [list] [*]urlparse.parse_qs 返回字典[/*] [*]urlparse.parse_qsl 返回列表[/*] [/list] [b]2. urlparse.urlsplit[/b] 和urlparse差不多,将url分为5部分,返回一个包含5个字符串项目的元组:协议、位置、路径、查询、片段。
import urlparse
url_change = urlparse.urlsplit('https://i.cnblogs.com/EditPosts.aspx?opt=1')
print url_change
SplitResult(scheme='https', netloc='i.cnblogs.com', path='/EditPosts.aspx', query='opt=1', fragment='')
其中 scheme 是协议  netloc 是域名服务器  path 相对路径 query是查询的条件 [b]3.urlparse.urljoin[/b] 将相对的地址组合成一个url,对于输入没有限制,开头必须是http://,否则将不组合前面。
import urlparse
new_url = urlparse.urljoin('https://baidu.com/ssss/','88888')
print new_url
输出 https://baidu.com/ssss/88888 如果输入错误信息 如  new_url = urlparse.urljoin('122','88888')    并不会将两者合并   输出‘88888' [b]urlparse获取url后面的参数[/b] 如果给定你一个URL,比如: http://url/api?param=2¶m2=4 我们需要获取参数名和参数值的话,那可以用到python标准库urlparse
import urlparse
def qs(url):
  query = urlparse.urlparse(url).query
  return dict([(k,v[0]) for k,v in urlparse.parse_qs(query).items()])
[code]print qs('http://url/api?param=2¶m2=4') [/code]返回的结果: [code]{'param':'2','param2':'4'}[/code] [b]注意:[/b]这个模块的parse_qs方法在2;5的版本是不存在的,只有2.5以上的才有,你需要调用该方法的时候可以先通过dir(urlparse)查看模块urlparse是否有相应的方法。 官方文档地址  [url=http://docs.python.org/library/urlparse.html]http://docs.python.org/library/urlparse.html[/url] [b]总结[/b] 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对编程素材网的支持。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部