将URL按一定的格式进行拆分

  • 使用 urllib.parse.urlparse将url分为6个部分,返回一个包含6个字符串项目的元组:协议、位置、路径、参数、查询、片段

参照官方地址:https://docs.python.org/3/library/urllib.parse.html

import urllib.parse
#urlparse将url分为6个部分
url ="https://i.cnblogs.com/EditPosts.aspx?opt=1"
url1 = "cheme://netloc/path;parameters?query#fragment"
url_change = urllib.parse.urlparse(url)
print(url_change)

输出结果为:

ParseResult(scheme='https', netloc='i.cnblogs.com', path='/EditPosts.aspx', params='', query='opt=1', fragment='')

其中 scheme 是协议  netloc 是域名服务器  path 相对路径  params是参数,query是查询的条件

  • 使用  urllib.parse.urlsplit 将url分为5个部分,返回一个包含字符串项目的元组:协议、位置、路径、查询、片段
 import urllib.parse
#urlsplit将url分为5个部分
url ="https://i.cnblogs.com/EditPosts.aspx?opt=1"
url_change = urllib.parse.urlsplit(url)
print(url_change)

输出结果为:

ParseResult(scheme='https', netloc='i.cnblogs.com', path='/EditPosts.aspx',query='opt=1', fragment='')

其中 scheme 是协议  netloc 是域名服务器  path 相对路径 ,query是查询的条件

对URL按照一定的规格进行拼接

  • 使用 urllib.parse.urljoin将相对的一个地址组合成一个url,对于输入没有限制,开头必须是http://或者https://,否则将不组合前面的部分。
 import urllib.parse
host = "https://127.0.0.1"
#host ="127.0.0.1"
port = ""
new_url = urllib.parse.urljoin(host,port)
print(new_url)

输出结果为:

  https://127.0.0.1/8888

如果  host ="127.0.0.1",则输出的只是:  8888

parse_qs 有几种实现

  • urllib.parse.parse_qs 返回字典
  • urllib.parse.parse_qsl 返回列表
import urllib.parse
#urlparse将url分为6个部分
url ="https://i.cnblogs.com/EditPosts.aspx?opt=1"
url_change = urllib.parse.urlparse(url) # 将url拆分为6个部分
query = url_change.query #取出拆分后6个部分中的查询模块query
lst_query = urllib.parse.parse_qsl(query) #使用parse_qsl返回列表
dict1 =dict(lst_query) #将返回的列表转换为字典
dict_query =urllib.parse.parse_qs(query) #使用parse_qs返回字典
print("使用parse_qsl返回列表 :",lst_query)
print("将返回的列表转换为字典 :",dict1)
print("使用parse_qs返回字典 : ",dict_query) # data = "test=test&test2=test2&test2=test3"
# print(urllib.parse.parse_qsl(data)) #返回列表
# print(urllib.parse.parse_qs(data)) #返回字典

python3中的urllib.parse的常用方法的更多相关文章

  1. Python2中的urllib、urllib2和 Python3中的urllib、requests

    目录 Python2.x中 urllib和urllib2 常用方法和类 Python3.x中 urllib requests Python2.x中 urllib和urllib2 urllib 和 ur ...

  2. 详解:Python2中的urllib、urllib2与Python3中的urllib以及第三方模块requests

    在python2中,urllib和urllib2都是接受URL请求的相关模块,但是提供了不同的功能.两个最显著的不同如下: 1.urllib2可以接受一个Request类的实例来设置URL请求的hea ...

  3. Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)_python

    我们可以利用urllib来抓取远程的数据进行保存哦,以下是python3 抓取网页资源的多种方法,有需要的可以参考借鉴. 1.最简单 import urllib.request response = ...

  4. 在python3中使用urllib.request编写简单的网络爬虫

    转自:http://www.cnblogs.com/ArsenalfanInECNU/p/4780883.html Python官方提供了用于编写网络爬虫的包 urllib.request, 我们主要 ...

  5. Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)

    出自  http://www.jb51.net/article/93125.htm

  6. python3中urllib的基本使用

    urllib 在python3中,urllib和urllib2进行了合并,现在只有一个urllib模块,urllib和urllib2的中的内容整合进了urllib.request,urlparse整合 ...

  7. urllib.parse.quote

    sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...

  8. Python 的 urllib.parse 库解析 URL

      Python 中的 urllib.parse 模块提供了很多解析和组建 URL 的函数. 解析url urlparse() 函数可以将 URL 解析成 ParseResult 对象.对象中包含了六 ...

  9. Python爬虫之urllib.parse详解

    Python爬虫之urllib.parse 转载地址 Python 中的 urllib.parse 模块提供了很多解析和组建 URL 的函数. 解析url 解析url( urlparse() ) ur ...

随机推荐

  1. 微信小程序des加密、PHP des解密

    最近在做对小程序传输数据进行加密,加密方法有很多,使用的是des对称加密 采用的是CBC模式, 引用的插件为tripledes.js,https://github.com/Favour1111in/h ...

  2. mongodb初步使用体验

    前言 Mongodb是一个非常有名的缓存数据库,和它名气相当的还有redis和hbase.笔者之前使用过redis,memcache和elasticsearch,借着工作机会,正好可以好好学习一下mo ...

  3. Linux运维之shell脚本进阶篇

    一.if语句的使用 1)语法规则 if [条件] then 指令 fi 或 if [条件];then 指令 fi 提示:分号相当于命令换行,上面两种语法等同特殊写法:if[ -f"$file ...

  4. Css3新属性:calc()

    一.前言 calc()看起来像是javascript中的一个函数,而事实上它是用在Css中的,可以用它来计算长度(宽度或高度),能够自动根据不同尺寸的屏幕自动调接数值,从而很轻松的实现自适应布局展示在 ...

  5. Linux ssh命令详解

    SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息. ...

  6. SignalTap导致PCIe Read/Write卡死

    /********************************************************************** * SignalTap导致PCIe Read/Write ...

  7. 【EMV L2】SDA静态数据认证处理流程

    [静态数据认证] 静态数据认证处理过程中,卡片没有执行任何处理,终端执行的处理流程:1.认证中心公钥的获取终端使用卡片上的认证中心公钥索引(PKI)[TAG:8F,Certification Auth ...

  8. 基于python的发送邮件案例

    #coding:utf-8 #强制使用utf-8编码格式 import smtplib #加载smtplib模块 from email.mime.text import MIMEText from e ...

  9. 洛谷1101:单词方阵(DFS)

    题目描述 给一n×nn \times nn×n的字母方阵,内可能蕴含多个"yizhong"单词.单词在方阵中是沿着同一方向连续摆放的.摆放可沿着888个方向的任一方向,同一单词摆放 ...

  10. day06python 哈希 字典集合嵌套

    1.hash算法 hash算法 :内存中将值进行hash算法得到一个数值存储在内存中,查找也会按照算法进行查找,使用hash算法 执行效率高相对于list的索引查找 (字典,集合):使用的是hash查 ...