IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> python爬虫学习9 -> 正文阅读

[网络协议]python爬虫学习9

python爬虫学习9

  • 解析连接

    前面我们知道,urllib中的parse模块定义了处理URL的接口,通过调用该模块我们可以实现,例如URL各部分的抽取、合并以及连接转换。

    下面,让我们一起了解几个parse模块中的常用方法:

    • urlparse方法
      import urllib.parse
      
      # prase.urlparse
      
      url = "https://baike.baidu.com/item/Python/407313?fr=aladdin"
      result = urllib.parse.urlparse(url)
      
      print(type(result))
      print(result)
      

      运行结果:

      在这里插入图片描述

      可以看到结果是一个 urllib.parse.ParseResult 类,共包含六部分:

      • scheme
      • netloc
      • path
      • params
      • query
      • fragment
    # 
    原链接:
    https://baike.baidu.com/item/Python/407313?fr=aladdin
    通过结合url,我们可以发现urlparse在解析url的时候有特定的分隔符:
    
    +//前面即为scheme,代表协议
    + 第一个/符号前即为netloc,域名
    + 后面是path,及访问路径
    + 分号;后面是params,代表参数
    + 问号?后面是查询条件query,一般用作GET类型的URL
    + 井号#后面是锚点,fragment,用于确定页面内部的下拉位置
    一个标准URL都会符合这个格式
  • urlparse的参数

    在这里插入图片描述

    • url, 这是必填项,代表带解析的URL

    • scheme,这是默认的协议(如http或https等)。如果带解析的url中没有协议信息,就会将之作为默认协议

      # urlparse 的参数
      from urllib import parse
      
      # url中无协议,传入scheme参数
      url = 'www.baidu.com/index.html;user?id=5#comment'
      result = parse.urlparse(url,scheme='https')
      print(result)
      
      print('---------------------')
      
      # url中有协议,传入scheme
      url = 'http://www.baidu.com/index.html;user?id=5#comment'
      result = parse.urlparse(url,scheme='https')
      print(result)
      
      # 有结果可以看出,scheme参数的优先级更高
      

      运行结果:

      在这里插入图片描述

    • allow_fragment,是否忽略fragment。如果此项被设置为False,那么fragment部分就会被忽略,他会只解析其他的参数,而fragment参数直接为空。

      from urllib import parse
      
      url = 'http://www.baidu.com/index.html;user?id=5#comment'
      result = parse.urlparse(url,allow_fragments=False)
      print(result)
      
      # 当URL中不包含params和query时,这时fragment就会被解析为path中的一部分
      url = 'http://www.baidu.com/index.html#comment'
      

      运行结果:

      在这里插入图片描述

  • 返回值的获取
    # 实际上urlparse方法返回的是一个元祖,所以我们可以这样获取:
    
    url = 'http://www.baidu.com/index.html;user?id=5#comment'
    result = parse.urlparse(url)
    print(result[0],result.netloc,sep='\n')
    

    运行结果:

    在这里插入图片描述

未完待续…

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 13:32:18  更:2022-03-06 13:32:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:23:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码