您当前的位置: 首页 >  Python
  • 0浏览

    0关注

    214博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Python(28):【Python中常用的库系列】——操作url的模块urlparse 模块

不愿透露姓名の网友 发布时间:2020-09-03 17:15:17 ,浏览量:0

在这里插入图片描述

文章目录
  • 一、介绍
  • 二、功能介绍
    • 1.`urlparse.urlparse`
    • 2.`urlparse.urlsplit`
    • 3.`urlparse.urljoin`

一、介绍
  • 官方文档 :http://docs.python.org/library/urlparse.html
  • 作用:urlparse模块主要是用于解析url中的参数 对url按照一定格式进行 拆分或拼接
  • 注意:urlparse 模块在 python 3.0 中 已经改名为 urllib.parse
二、功能介绍 1.urlparse.urlparse

1.1 获取ParseResult对象

将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是查询的条件
  • fragment是片段

1.2获取结果的某一项

import urlparse

url_change = urlparse.urlparse('https://i.cnblogs.com/EditPosts.aspx?opt=1')

print url_change.query  # opt=1
print url_change.scheme  # https

1.3获取结果的某一项,用字典或元组展示

import urlparse

url_change = urlparse.urlparse('https://i.cnblogs.com/EditPosts.aspx?opt=1')
    
print urlparse.parse_qs(url_change.query)  # {'opt': ['1']}
print urlparse.parse_qsl(url_change.query)  # [('opt', '1')]
2.urlparse.urlsplit

2.1获取SplitResult对象

和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是查询的条件
  • fragment是片段

2.2获取某一项

print url_change.scheme # https
3.urlparse.urljoin

将相对的地址组合成一个url,对于输入没有限制,开头必须是http://或者https://,否则将不组合前面。

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’
  • 域名放在第一个参数,第二个参数为要和域名拼接的子链接
关注
打赏
1657102503
查看更多评论
立即登录/注册

微信扫码登录

0.7530s