将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. CodeForces - 1015 D.Walking Between Houses

    Description Natasha is planning an expedition to Mars for nn people. One of the important tasks is t ...

  2. mac 常用终端命令

      mkdir 文件夹夹名称 创建一个文件夹 cd 文件夹名称 进入该文件夹 git init 在该文件夹下创建一个git仓库 touch 文件名称 在该文件夹下创建一个文件 echo '内容' &g ...

  3. .Net Core 控制台程序生产exe

    打开csproj ,添加一行 <RuntimeIdentifier>win10-x64</RuntimeIdentifier> 具体如下: <Project Sdk=&q ...

  4. nginx——控制 Nginx 并发连接数

    1. 限制单个 IP 的并发连接数 .... http { include mime.types; default_type application/octet-stream; sendfile on ...

  5. 基于sklearn和keras的数据切分与交叉验证

    在训练深度学习模型的时候,通常将数据集切分为训练集和验证集.Keras提供了两种评估模型性能的方法: 使用自动切分的验证集 使用手动切分的验证集 一.自动切分 在Keras中,可以从数据集中切分出一部 ...

  6. 神州数码静态路由及直连网段引入到RIP协议配置(路由重定向)

    实验要求:掌握静态路由及直连网段引入协议当中的配置 拓扑如下 R1 enable 进入特权模式 config 进入全局模式 hostname R1 修改名称 interface g0/6 进入端口 i ...

  7. j教你如何用erlang-tuple

    元组是用来保存一组数据元素的复合数据类型,其中数据元素是要求为erlang的数据类型,单不一定要是相同的类型,元组使用封闭的花括号{}来定义,里面的元素有逗号隔开. 例如: 1> {1,2,3} ...

  8. 1.2 pip降级selenium3.0

    1.2 pip降级selenium3.0 selenium版本安装后启动Firefox出现异常:'geckodriver' executable needs to be in PATHselenium ...

  9. Linux下安装oracle的步骤和一些问题

    今天在Linux64位系统安装oracle数据库,折腾了一天,终于搞定了,现在把安装步骤梳理下,防止以后忘记:    (以下内容来自http://blog.163.com/junwu_lb/blog/ ...

  10. 2018.4.25 github创建新项目

    echo "# IntegrateDemo" >> README.md git init git add README.md git commit -m "f ...