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

embedded/2024/10/31 13:31:20/

       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,统一资源名称),后者只对资源进行唯一命名但没有定位信息,普遍出现较少,故一般情况下可以将URIURL等价,URL是传播更加广泛的称呼。


http://www.ppmy.cn/embedded/133872.html

相关文章

编写dockerfile生成镜像,并且构建容器运行

编写dockerfile生成镜像,并且构建容器运行 目录 编写dockerfile生成镜像,并且构建容器运行 概述 一、dockerfile文件详解 Dockerfile的基本结构 Dockerfile的常用指令 二、构建过程 概述 随着微服务应用越来越多,大家需要尽快掌握dock…

【jvm】堆的内部结构

目录 1. 说明2. 年轻代(Young Generation)2.1 说明2.2 Eden区2.3 Survivor区 3. 老年代(Old Generation)3.1 说明3.2 对象存放3.3 垃圾回收 4. jdk7及之前5. jdk8及之后 1. 说明 1.JVM堆的内部结构主要包括年轻代(You…

第三十四篇:URL和URI的区别,HTTP系列一

前面我们讲到通过TCP协议通信双方建立可靠连接,那么此时双方进行通信,需要用人能理解的形式进行信息组织,也就是为各种特定需求服务,满足日常生活中的各种场景。 比如:网页浏览、电子邮件、远程登录、文件传输、网络管…

Linux_03 Linux 常用命令——find、ls

Find命令——查找当前目录及子目录 一、格式 find <path> [options] [expression]1、path&#xff1a;需要查找的目录的路径 find ~$HOME目录find .当前目录find /根目录&#xff0c;可以继续向子目录限制 如果限制在当前目录而不进行子目录的查找&#xff0c;则加入…

C++学习路线(数据库部分)七0

存储过程和函数 存储过程和函数是在数据库中定义的一些SQL语句的集合&#xff0c;然后直接调用这些存储过程和函数来执行已经定义好的SQL语句。存储过程和函数可以避免开发人员重复编写相同的SQL语句。而且&#xff0c;存储过程和函数是在MySQL服务器中存储和执行的&#xff0…

windows下安装python库wordCloud报错

换电脑安装wordcloud半天安装失败&#xff0c;记录一下遇到的坑&#xff0c;也给大家节省点时间。 方法1&#xff1a; 错误呢就是下面这个&#xff0c;说没c编译器&#xff0c;要不就去他给的地址上安装一下&#xff0c;我安装了一下好像没什么用&#xff0c;也没太敢勾选&am…

APScheduler:强大的Python定时任务调度器

安装 使用pip安装APScheduler&#xff1a; pip install apscheduler基本概念 APScheduler有四种组件&#xff1a; Triggers&#xff1a;包含调度逻辑&#xff0c;每个作业有其专属触发器&#xff0c;决定下次运行时间。触发器无状态&#xff0c;仅依据初始配置工作。Job St…

基于TPU平台的OCR模型性能优化赛题快来揭榜 | CCF BDCI进行时

一年一度的行业盛事2024 CCF大数据与计算智能大赛&#xff08;简称2024 CCF BDCI&#xff09;又在激烈进行中啦&#xff0c;多个赛题等你挑战 还没有报名的伙伴们抓紧时间咯&#xff0c;叫上你伙伴练起来吧&#xff01; 2024 CCF大数据与计算智能大赛 CCF大数据与计算智能大…