python网络爬虫基础:URL的组成与结构

       URL(Uniform Resource Locator,统一资源定位符),常被称为网页链接、网址,用于在互联网中唯一标识资源的位置。一个典型的 URL 包含以下几部分:

1. 协议(Protocol)

  • 协议指定了访问资源的方式或规则。最常见的协议有 HTTP(超文本传输协议)、HTTPS(安全超文本传输协议)、FTP(文件传输协议)等。
  • URL 中,协议后面紧跟着“://”,如 https://

示例:在 https://example.com 中,https 是协议。

2. 主机名或域名(Hostname/Domain)

  • 域名是指资源所在的服务器地址,通常是人类可读的名称(例如 www.example.com)。
  • 域名由多个部分组成,最右边的部分称为顶级域名(TLD),如 .com.org.cn 等。前面的部分称为二级域名或子域,如 example。如果有额外的部分(如 blog.example.com),则称为三级或更高级别的域名。
  • www全称为World Wide Web,万维网简称,是一种全球性的域名,代表整个互联网。大部分的URL均存在此域名,不过近年来也有部分URL放弃了这一部分,表示不将站点标识为万维网的一部分。
  • 一些 URL 中可能会直接使用 IP 地址(例如 192.168.0.1),代替域名。

示例:在 https://example.com 中,example.com 是域名。

3. 端口号(Port)

  • 端口号用于指定服务器上一个特定服务的入口,默认端口号通常可以省略。
  • 不同协议有默认端口号,例如 HTTP 的默认端口号是 80,HTTPS 是 443。如果使用了非默认端口,则需要在 URL 中指定。

示例:在 https://example.com:8080 中,8080 是端口号。

4. 路径(Path)

  • 路径表示资源在服务器中的具体位置,通常以“/”分隔层级。
  • 路径可以指向一个文件或一个目录,可以为空,表示访问网站的默认页面。

示例:在 https://example.com/docs/index.html 中,/docs/index.html 是路径。

5. 查询参数(Query Parameters)

  • 查询参数为键值对结构,用于向服务器传递额外信息。多个参数之间使用“&”分隔。
  • 查询参数以“?”开始,格式为key=value

示例:在 https://example.com/search?q=URL&lang=zh 中,q=URLlang=zh 是查询参数。

6. 片段标识符(Fragment Identifier)

  • 片段标识符用于指向页面内的特定位置,以“#”开头。
  • 片段通常用于网页的内部导航,在 URL 中定位资源内部的某个部分。

示例:在 https://example.com/docs/index.html#section1 中,#section1 是片段标识符。

7.总结

       一个完整的 URL 结构示例如下:

https://example.com:8080/docs/index.html?q=URL&lang=zh#section1

  • https:协议
  • example.com:域名
  • 8080:端口号
  • /docs/index.html:路径
  • q=URL&lang=zh:查询参数
  • #section1:片段标识符

8.题外话

       URI(Uniform Resource Identifier,统一资源标志符),包括URL与URN(Uniform Resource Name,统一资源名称),后者只对资源进行唯一命名但没有定位信息,普遍出现较少,故一般情况下可以将URI与URL等价,URL是传播更加广泛的称呼。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/56777.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flink CDC系列之:调研应用Flink CDC将 ELT 从 MySQL 流式传输到 StarRocks方案

Flink CDC系列之:调研应用Flink CDC将 ELT 从 MySQL 流式传输到 StarRocks方案 准备准备 Flink Standalone 集群准备 docker compose为 MySQL 准备记录使用 Flink CDC CLI 提交作业 同步架构和数据更改路由变更清理 本教程将展示如何使用 Flink CDC 快速构建从 MySQ…

[Ansible实践笔记]自动化运维工具Ansible(二):Ansible的playbook及角色

Ansible playbook(剧本) 详情请参考[Ansible实践笔记]自动化运维工具Ansible(一):初探ansible&ansible的点对点模式 文章目录 Ansible playbook(剧本)介绍核心字段环境配置案例&#xff1…

React--》掌握Valtio让状态管理变得轻松优雅

Valtio采用了代理模式,使状态管理变得更加直观和易于使用,同时能够与React等框架无缝集成,本文将深入探讨Valtio的核心概念、使用场景以及其在提升应用性能中的重要作用,帮助你掌握这一强大工具,从而提升开发效率和用户…

【Go语言】

type关键字的用法 定义结构体定义接口定义类型别名类型定义类型判断 别名实际上是为了更好地理解代码/ 这里要分点进行记录 使用传值的例子,当两个类型不一样需要进行类型转换 type Myint int // 自定义类型,基于已有的类型自定义一个类型type Myin…

用kali入侵 DarkHole_2测试

进入kali系统调出root交互式界面 netdiscover -r 000.000.000.000/24 -------局域网探测IP工具 nmap 设备端口扫描 发现两个攻击点一个是80端口的Http 一个是22端口的ssh 发现有许多GIT文件 可能会出现git源码泄露 使用githack URL 命令还原git源文件 打开面板控制命令行 输入…

2.插入排序(斗地主起牌)

一、思想 扑克牌起牌 代码: 二、时间复杂度: 最好情况(已经排序好的):T O(N) 最坏情况(完全逆序):T O(N^2) 三、优劣: 严格的大小比较之后才进行错位插入&#x…

exchange_proxy exchange 安全代理

1. 软件简介 exchange_proxy 是由小米公司开发并开源的,以 go 语言开发的 exchange 安全代理,可以将内网的 exchange 服务器的 https 服务安全地发布出去, 支持的功能如下: WEB 端增加 OTP 二次认证手机端增加设备激活绑定的功能屏蔽了 PC 端的 EWS 协议(意思就是不支持)…

gin入门教程(5):请求参数处理

在 Gin 中,处理请求参数非常简单。您可以从 URL 路由、查询字符串和请求体中提取参数。以下是几种常见的处理方式: 1. URL 路由参数 如果您想从 URL 中获取参数,可以使用路由定义中的冒号(:)符号: r.GET…

【PHP】在ThinkPHP6中Swoole与FPM的简单性能测试对比

一、前言 本文主要测试在ThinkPHP 6框架中,使用Swoole扩展库与使用PHP-FPM两者的HTTP并发性能差距,测试方法较简单,仅供参考。 二、测试环境 系统:Ubuntu 22.04 PHP版本:7.4.33 Swoole版本:4.8.13 ThinkPHP版本:6.1.5 ThinkPHP-Swoole扩展库版本:3.1.4 测试工具:A…

unity中GameObject介绍

在 Unity 中,Cube和Sphere等基本几何体是 Unity 引擎的内置预制体(Prefabs),它们属于 Unity 中的GameObject 系统,可以在 Unity 的 Hierarchy 视图或 Scene 视图中右键点击,然后在弹出的菜单中选择 3D Obje…

MySQLDBA修炼之道-开发篇(一)

三、开发基础 1. 数据模型 1.1 关系数据模型介绍 关于NULL 如果某个字段的值是未知的或未定义的&#xff0c;数据库会提供一个特殊的值NULL来表示。NULL值很特殊&#xff0c;在关系数据库中应该小心处理。例如查询语句“select*from employee where 绩效得分<85 or>绩…

ElasticSearch的向量存储和搜索

ElasticSearch的向量存储和搜索 引入依赖示例代码 引入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schema…

JVM参数选项类型

我的后端学习大纲 JVM学习大纲 1、类型1&#xff1a;标准参数选项&#xff1a; 1.1.特点&#xff1a; 1.比较稳定&#xff0c;后续基本不会发生变化2.以“-”开头 1.2.各种选项&#xff1a; 运行java或者java -help可以看到所有的标准选项 1.3.补充内容&#xff1a; -se…

Halcon 多相机统一坐标系(标定)

多相机统一坐标系是指将多个不同位置的相机的图像采集到同一个坐标系下进行处理和分析的方法。 在计算机视觉和机器视觉领域中&#xff0c;多相机统一坐标系被广泛应用于三维重建、立体视觉、目标跟踪等任务中。 以gen_binocular_rectification_map&#xff08;生成描述图像映…

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (七):MongoDB的设置

本项目旨在学习如何快速使用 nodejs 开发后端api&#xff0c;并为以后开展其他项目的开启提供简易的后端模版。&#xff08;非后端工程师&#xff09; 由于文档是代码写完之后&#xff0c;为了记录项目中需要注意的技术点&#xff0c;因此文档的叙述方式并非开发顺序&#xff0…

Android View的事件分发机制

前言 本文由于介绍本人关于View的事件分发机制的学习&#xff0c;如有不恰当的描述欢迎指出。 View基础 什么是View ​ View是Android中所有控件的基类&#xff0c;不管是Button、TextView、LinearLayout&#xff0c;它们的共同基类都是View。也就是说&#xff0c;View是界…

K8S配置storage-class

简介 Kubernetes支持NFS存储&#xff0c;需要安装nfs-subdir-external-provisioner&#xff0c;它是一个存储资源自动调配器&#xff0c;它可将现有的NFS服务器通过持久卷声明来支持Kubernetes持久卷的动态分配。该组件是对Kubernetes NFS-Client Provisioner的扩展&#xff0…

腾讯云跨AZ部署FortigateHA备忘录

随时保存配置 config system globalset admintimeout 480set alias "FortiGate-VM64-KVM"set gui-auto-upgrade-setup-warning disableset hostname "FG-Slave"set revision-backup-on-logout enableset revision-image-auto-backup enableset timezone &…

179.最大数

目录 题目解法sort可以自定义排序规则 题目 给定一组非负整数 nums&#xff0c;重新排列每个数的顺序&#xff08;每个数不可拆分&#xff09;使之组成一个最大的整数。 注意&#xff1a;输出结果可能非常大&#xff0c;所以你需要返回一个字符串而不是整数。 解法 class S…

Android开发兼容性问题3万字保姆级教程(Android版本、屏幕、多语言、硬件、第三方库、权限)

目录 第一章 Android版本兼容性 1.1 版本众多的挑战 1.2 设置版本参数 1.3 API版本检测 1.4 兼容性实例 使用minSdkVersion和targetSdkVersion 1.5 版本更新的应对策略 第二章 屏幕尺寸与分辨率兼容性 2.1 屏幕尺寸的多样性 2.2 响应式布局 2.3 drawable资源管理 使…