2024.4.13 Python 爬虫复习day01

news/2024/5/17 19:28:35

目录

day01_HTTP协议HTML页面web服务器

各类名词解释

URL统一资源定位符

HTTP协议

HTML页面

知识点:

第一个页面

标题标签和图片标签

注册页面

登录页面

WEB服务器

安装fastapi和uvicorn

原始命令方式

镜像源命令方式

工具方式

快速搭建web服务器

知识点:

示例:


day01_HTTP协议HTML页面web服务器

各类名词解释

web: 万维网WWW是World Wide Web的简称,也称为Web、3W等。WWW是基于客户机/服务器方式的信息发现技术和超文本技术的综合
​
超文本: (Hyper Text,HT )是超级文本的中文缩写。 超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本。超文本更是一种用户界面范式,用以显示文本及与文本之间相关的内容
​
dns: 域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
​
http: 超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
​
tcp: 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议
​
udp: 用户数据报协议(UDP,User Datagram Protocol)。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。
​
七层网络协议结构:  物理层 数据链路层  网络层  传输层  会话层 表示层  应用层
​

URL统一资源定位符

url: (Uniform Resoure Locator) 统一资源定位符,也就是我们常说的网址
​
url组成: 协议部分  域名部分  资源路径部分  查询参数部分(可选)
​
用户在浏览器根据URL发送请求,获取响应的过程: F12或者右键_检查 ->  网络(network)1.准备有效的URL2.打开浏览器输入URL(本质去访问web服务器)回车3.注意: 如果URL中是域名,先根据域名在本地的hosts文件中查找,如果本地没有再去dns服务器中找对应的ip地址4.根据ip地址访问到对应的服务器,web服务器根据要访问资源路径返回对应的资源5.浏览器接收服务器响应回来的资源,如果有图片视频音频等链接,浏览器自己依次单独发送对应URL请求6.最终浏览器把所有资源渲染成页面,展示给用户

HTTP协议

HTTP协议是基于TCP协议的
​
HTTP协议作用:  规定了浏览器和web服务器直接的通信格式
​
web服务器: 能够解析HTTP协议的服务器(接收浏览器的请求和响应数据给浏览器)
​
通信格式:请求get方式:  请求行  请求头  请求空行          举例: get资源路径部分后拼接查询参数  /?pwd=123post方式: 请求行  请求头  请求空行  请求体   举例: post资源路径部分  /  请求体: pwd=123响应格式: 响应行  响应头  响应空行 响应体状态码: 2xx: 成功  3xx:重定向  4xx: 客户端错误   5xx:服务器错误

HTML页面

知识点:

HTML: 全称为:HyperText Mark-up Language, 指的是超文本标记语言 
​
标记:就是标签    
​
双标签格式: <标签名称> 标签内容 </标签名称>   
​
单标签格式: <标签名称/>
​
标准结构:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>标题</title></head><body>要展示的内容</body></html>

第一个页面

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>我的第一个页面
</body>
</html>

标题标签和图片标签

双标签格式: <标签名称> 标签内容 </标签名称>    举例: <h1>标题</h1>
​
单标签格式: <标签名称/>    举例: <img src='图片路径' alt='提示语' title='标题'/>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>html页面</title>
</head>
<body><h1 style="color: orangered">--------欢迎来到我的页面--------</h1><h2>二级标题</h2><h3>三级标题</h3><h4>四级标题</h4><h5>五级标题</h5><h6>六级标题</h6>
​<img src="hm.jpg" alt="图片加载中..." title="图片"/>
</body>
</html>

注册页面

form表单: action: 跳转URL method: 请求方式 get或者postinput标签text: 小文本框password: 密码框radio: 单选框checkbox: 多选框file: 上传文件textarea: 大文本框submit: 提交reset: 重置button: 普通按钮
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>注册页面</title>
</head>
<body>
<h1 style="color: blue">欢迎来到注册页面</h1>
<form action="http://www.itheima.com/" name="register" method="post"><label>用户名: <input type="text" name="username"></label><br><label>密&emsp;码: <input type="password" name="pwd"></label><br><label>性&emsp;别: <input type="radio" name="gender" value="男">男<input type="radio" name="gender" value="女">女</label><br><label>爱&emsp;好: <input type="checkbox" name="hobby" value="eat">吃饭<input type="checkbox" name="hobby" value="sleep">睡觉<input type="checkbox" name="hobby" value="play_doudou">打豆豆</label><br><label>头&emsp;像: <input type="file" name="head_file"></label><br>&emsp;&emsp;<input type="submit" value="提交">&emsp;&emsp;<input type="reset" value="重置">
</form>
</body>
</html>

登录页面

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>登录页面</title>
</head>
<body>
<h1 style="color: blue">欢迎来到登录页面</h1>
<form action="http://www.itheima.com/" name="register" method="get"><label>用户名: <input type="text" name="username"></label><br><label>密&emsp;码: <input type="password" name="pwd"></label><br>&emsp;<input type="submit" value="提交">&emsp;<input type="reset" value="重置">
</form>
</body>
</html>

WEB服务器

安装fastapi和uvicorn

原始命令方式

前提: python正确配置了解释器

基本格式: pip install 库名
​
安装fastapi:  pip install fastapi
​
安装uvicorn:  pip install uvicorn
镜像源命令方式
问题: 默认是从国外服务器下载资源,如果网速较慢,可以从国内的镜像源下载
​
格式:  pip install 库名 -i 镜像源url
​
安装fastapi命令:  pip install fastapi -i https://pypi.tuna.tsinghua.edu.cn/simple
​
安装uvicorn命令:  pip install uvicorn -i https://pypi.tuna.tsinghua.edu.cn/simple
工具方式

 

快速搭建web服务器

知识点:
快速搭建web服务器步骤:1.导包(fastapi和uvicorn)2.创建对象(注意:创建对象的时候,类名后加小括号())3.让对象帮助咱们干活(接收浏览器请求并且给浏览器响应)4.启动服务器(必须传入上述创建的对象,注意:ip地址和端口号有默认,当然也可以自己指定)
示例:
# 1.导包(fastapi和uvicorn)
from fastapi import FastAPI
from fastapi import Response
import uvicorn
​
# 2.创建对象(注意:创建对象的时候,类名后加小括号())
api = FastAPI()
​
​
# 3.让对象帮助咱们干活(接收浏览器请求并且给浏览器响应)
# 装饰器根据要访问的资源路径调用对应的函数
@api.get('/')
def show():res = Response('load index.html...')return res
​
@api.get('/hm.jpg')
def show():res = Response('load hm.jpg...')return res
​
​
# 4.启动服务器(必须传入上述创建的对象,注意:ip地址和端口号有默认,当然也可以自己指定)
uvicorn.run(api, host='127.0.0.1', port=9091)

http://www.mrgr.cn/p/27538535

相关文章

设计模式———单例模式

单例也就是只能有一个实例&#xff0c;即只创建一个实例对象&#xff0c;不能有多个。 可能会疑惑&#xff0c;那我写代码的时候注意点&#xff0c;只new一次不就得了。理论上是可以的&#xff0c;但在实际中很难实现&#xff0c;因为你无法预料到后面是否会脑抽一下~~因此我们…

Codes 重新定义 SaaS 模式的研发项目管理平台开源版 4.5.3 发布

Codes 是一个 开源、高效、简洁、轻量的一站式研发项目管理平台。包含需求管理,任务管理,测试管理,缺陷管理,自动化测试,cicd 等功能; Codes 重新定义 SaaS 模式 = 云端认证 + 程序及数据本地安装 + 不限功能 + 30 人免费一:简介Codes 重新定义 SaaS 模式 = 云端认证 …

【微信小程序】解决分页this.setData数据量太大的限制问题

1、原始方法&#xff0c;每请求一页都拿到之前的数据concat一下后整体再setData loadData() {let that thislet data {}data.page this.data.pagedata.size this.data.sizefindAll(data).then(res > {if (res.data.code 1) {this.setData({dataList: this.data.dataLi…

synchronization(同步)

并发进程之间的关系在内存中同时存在的若干个进程/线程,由操作系统的调度程序采用适当的策略将他们调度至cpu上运行,同时维护他们的状态队列。多个并发进程/线程从宏观上是同时在运行; 从微观的角度看,他们的运行过程是走走停停; 并发的进程/线程是交替执行(Interleaving…

修改中文、英文参考文献在文末列表中的顺序:EndNote

本文介绍在EndNote软件中,使得参考文献按照语种排列,中文在前、英文在后的方法~本文介绍在EndNote软件中,使得参考文献按照语种排列,中文在前、英文在后的方法。前期我们在EndNote参考文献格式Output Styles界面介绍一文中,详细介绍了文献管理软件EndNote的引用格式自定义…

网络编程ServerSocketChannel

ServerSocketChannel 1 非阻塞 vs 阻塞1.1 阻塞1.2 非阻塞1.3 多路复用 2 Selector2.1 创建2.2 绑定 Channel 事件2.3 监听 Channel 事件2.4 &#x1f4a1; select 何时不阻塞 3 处理 accept 事件&#x1f4a1; 事件发生后能否不处理 4 处理 read 事件4.1 &#x1f4a1; 为何要…

蓝桥杯2024年第十五届省赛真题-宝石组合

思路&#xff1a;参考博客&#xff0c;对Ha,Hb,Hc分别进行质因数分解会发现&#xff0c;S其实就等于Ha&#xff0c;Hb&#xff0c;Hc的最大公约数&#xff0c;不严谨推导过程如下&#xff08;字丑勿喷&#xff09;&#xff1a; 找到此规律后&#xff0c;也不能枚举Ha&#xff…

SURE:增强不确定性估计的组合拳,快加入到你的训练指南吧 | CVPR 2024

论文重新审视了深度神经网络中的不确定性估计技术,并整合了一套技术以增强其可靠性。论文的研究表明,多种技术(包括模型正则化、分类器改造和优化策略)的综合应用显着提高了图像分类任务中不确定性预测的准确性 来源:晓飞的算法工程笔记 公众号论文: SURE: SUrvey REcipes…

基于face_recognition实现的人脸识别功能

环境Python 3.11.8 dlib == 19.24.4 opencv-python == 4.9.0.80 numpy == 1.26.4 face_recognition == 1.3.0通过本地图片采集人脸编码 import os import cv2 import face_recognition encode_list = [] image_field_path = os.path.join(., images) images_file_list = os.lis…

Spring Boot 目前还是最先进的吗?

当谈到现代Java开发框架时&#xff0c;Spring Boot一直处于领先地位。它目前不仅是最先进的&#xff0c;而且在Java生态系统中拥有着巨大的影响力。 1. 什么是Spring Boot&#xff1f; Spring Boot是由Spring团队开发的开源框架&#xff0c;旨在简化基于Spring的应用程序的开…

4.10 + (double)(rand()%10)/100.0

机房是我家黑色星期四 坏消息: 没有奥赛课,所以大概率调不出来 CF1479D 好消息: 5k 回来了,调题有望 🥰 中午起床直接来的机房,有学科自习就说我不知道 结果被叫回去了 😢 而且今天班里没水了,趁着大课间跑操又去了一趟机房,赢 奥赛大会 老规矩颁奖典礼打头 不一样的…

RAG 2.0架构详解:构建端到端检索增强生成系统

关于检索增强生成(RAG)的文章已经有很多了,如果我们能创建出可训练的检索器,或者说整个RAG可以像微调大型语言模型(LLM)那样定制化的话,那肯定能够获得更好的结果。但是当前RAG的问题在于各个子模块之间并没有完全协调,就像一个缝合怪一样,虽然能够工作但各部分并不和…

东方博宜 1157. 最小数

东方博宜 1157. 最小数 今天不想写思路&#xff0c;乱糟糟的&#xff0c;能运行就拉倒了 #include <iostream> using namespace std; int main() {int n ;int a[201] ;cin >> n ;for(int i 1 ; i < n ; i){cin >> a[i] ; } int j ;j 1 ;for(int i 1…

Java对接第三方接口C#语言 请求是xml格式方式

文章目录 目录 文章目录 安装流程 小结 概要写法流程技术细节小结 概要 实现方式通过标签方式获取一个Body内标签的信息一步一步解析到需要获取到的数据信息 写法流程 技术细节 先和对面对接项目的开发拿到postman接口数据信息&#xff0c;然后再本地跑通接口&#xff0c;再进…

荣誉

荣誉 个人 学习委员 国防教育先锋队 朋辈导师 优秀团员 省级三好学生 职业技能大赛网络安全 河南省第七届御网杯信息安全大赛三等奖第二十届全国大学生信息安全对抗技术竞赛 ​ 数通 H3C认证路由交换网络工程师.pdf H3CSE-RS-IPv6.pdf 华为ICT网络赛道三等奖华为 HarmonyOS应用…

Windows10中多屏显示器型号获取并与Screen对应

需求:标识某块屏,不参与窗口快速移动 @@@codepublic class Monitor{/// <summary>/// DeviceID,如: \\.\DISPLAY17/// </summary>public String DeviceName { get; set; } /// <summary>/// 名称,如: Default_Monitor/// </summary>public…

制作适用于openstack平台的win10镜像

1. 安装准备 从MSDN下载windows 10的镜像虚拟机开启CPU虚拟化的功能。从Fedora 网站下载已签名的 VirtIO 驱动程序 ISO 。 创建15 GB 的 qcow2 镜像&#xff1a;qemu-img create -f qcow2 win10.qcow2 15G 安装必要的软件 yum install qemu-kvm qemu-img virt-manager libvir…

ubuntu20 解决网线不能联网 RTL8111/8168/8411

这种问题一般是驱动没有正确安装。 ----RTL8111/8168/8411是一块比较坑的网卡。 1、 查看网卡信息 lspci |grep Ethernet2、 对于高版本的Ubuntu&#xff0c;能直接使用命令安装驱动。下面的r8168-dkms需根据网卡信息修改&#xff0c;上面的网卡信息还有8111&#xff0c;但逐个…

【云原生】Spring Cloud微服务学习路线汇总

【云原生】Spring Cloud微服务学习路线汇总Spring Cloud是什么?简单来说Spring Cloud是一系列框架的组成集合。主要利用的我们现在主流应用的Spring Boot框架开发便利性、巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监…

ROS笔记5--动作通讯

1、动作通讯简介 机器人是一个复杂的智能系统,并不仅仅是键盘遥控运动、识别某个目标这么简单,我们需要实现的是送餐、送货、分拣等满足具体场景需求的机器人。在这些应用功能的实现中,另外一种ROS通信机制也会被常常用到——那就是动作。 从这个名字上就可以很好理解这个概…