2024.4.13 Python 爬虫复习day01

news2025/9/21 19:45:36

目录

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.准备有效的URL
    2.打开浏览器输入URL(本质去访问web服务器)回车
    3.注意: 如果URL中是域名,先根据域名在本地的hosts文件中查找,如果本地没有再去dns服务器中找对应的ip地址
    4.根据ip地址访问到对应的服务器,web服务器根据要访问资源路径返回对应的资源
    5.浏览器接收服务器响应回来的资源,如果有图片视频音频等链接,浏览器自己依次单独发送对应URL请求
    6.最终浏览器把所有资源渲染成页面,展示给用户

HTTP协议

HTTP协议是基于TCP协议的
​
HTTP协议作用:  规定了浏览器和web服务器直接的通信格式
​
web服务器: 能够解析HTTP协议的服务器(接收浏览器的请求和响应数据给浏览器)
​
通信格式:
    请求
        get方式:  请求行  请求头  请求空行          举例: get资源路径部分后拼接查询参数  /?pwd=123
        post方式: 请求行  请求头  请求空行  请求体   举例: 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或者post
    input标签
        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.coloradmin.cn/o/1592472.html

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

相关文章

2024 Guitar Pro 8.1.2-27 (x64) win/mac中文激活版破解版

吉他爱好者必备神器&#xff1a;Guitar Pro v8.1.1 Build 17深度解析 随着数字音乐制作和学习的日益普及&#xff0c;越来越多的吉他爱好者开始寻找能够帮助他们提升技能、创作音乐的专业工具。在众多吉他制作软件中&#xff0c;Guitar Pro因其强大的功能和易用的界面备受推崇…

网页input框自动填充问题

autocomplete 大部分查询解决办法是设置&#xff0c;autocompleteoff&#xff0c;关于autocomplete的含义&#xff0c;官网参考如下: HTML attribute: autocomplete - HTML: HyperText Markup Language | MDN 在 autocomplete 的文档中说明了 value 为 off 时&#xff0c;浏览…

【Web】CTFSHOW-ThinkPHP5-6反序列化刷题记录(全)

目录 web611 web612 web613-622 web623 web624-626 纯记录exp&#xff0c;链子不作赘述 web611 具体分析&#xff1a; ThinkPHP-Vuln/ThinkPHP5/ThinkPHP5.1.X反序列化利用链.md at master Mochazz/ThinkPHP-Vuln GitHub 题目直接给了反序列化入口 exp: <?ph…

谷歌推出全新AI代码辅助工具Code Assist,挑战GitHub Copilot|TodayAI

在其Cloud Next大会上&#xff0c;谷歌推出了一款名为Code Assist的AI驱动代码完成工具。该工具原名为Duet AI&#xff0c;现增强了功能并与流行的编辑器兼容。 Code Assist不仅与GitHub的Copilot Enterprise直接竞争&#xff0c;还以百万级的token上下文窗口自豪&#xff0c;…

Cherno CPP学习笔记-01-背景知识

0、工具网站收集 C语言版本特性 https://en.cppreference.com https://www.cplusplus.com https://www.tutorialspoint.com/cplusplus https://www.learncpp.com https://github.com/fffaraz/awesomecpp https://stackoverflow.com 网页CPP编译器 [C] gcc 12.1.0 - Wa…

【Altium Designer 20 笔记】隐藏PCB上的信号线(连接线)

使用网络类隐藏特定类型的信号线 如果你想要隐藏特定类型的信号线&#xff08;例如电源类&#xff09;&#xff0c;你可以首先创建一个网络类。使用快捷键DC调出对象类浏览器&#xff0c;在Net Classes中右击添加类&#xff0c;并重命名&#xff08;例如为“Power”&#xff0…

Towards Street-Level Client-Independent IP Geolocation(2011年)(第二部分)

被引次数:306 Wang Y, Burgener D, Flores M, et al. Towards {Street-Level}{Client-Independent}{IP} Geolocation[C]//8th USENIX Symposium on Networked Systems Design and Implementation (NSDI 11). 2011. 接着Towards Street-Level Client-Independent IP Geolocati…

造船业的重要工具之一(火工平台)——河北北重厂家

火工平台是造船业的重要工具之一&#xff0c;它是用于火焰切割和焊接的设备。在造船过程中&#xff0c;需要对金属材料进行切割和焊接&#xff0c;以构建船体结构。火工平台可以提供高温火焰&#xff0c;使得金属材料可以被切割或焊接。 火工平台通常由两个主要部分组成&#…

【美团笔试题汇总】2024-04-13-美团春秋招笔试题-三语言题解(CPP/Python/Java)

&#x1f36d; 大家好这里是KK爱Coding &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新美团近期的春秋招笔试题汇总&#xff5e; &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f…

sql server2008触发器

sql server在Navicat工具不能插入数据 可以去写代码插入&#xff0c;代码连接sql server可以插入 或者使用sql server专门的工具 BEGINdeclare a int;declare s t_amount;select a baddebt_age_id,srate from aa_baddebt_age;INSERT INTO dade(id,name) VALUES(a,s) END

Jackson 2.x 系列【16】反序列化器 JsonDeserializer

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Jackson 版本 2.17.0 源码地址&#xff1a;https://gitee.com/pearl-organization/study-jaskson-demo 文章目录 1. 概述2. 方法2.1 构造2.2 反序列化2.3 null 处理2.4 空值2.5 其他 3. 实现类3.…

基于SpringBoot+Vue的健身器材用品网站(源码+文档+部署+讲解)

一.系统概述 随着我国经济的高速发展与人们生活水平的日益提高&#xff0c;人们对生活质量的追求也多种多样。尤其在人们生活节奏不断加快的当下&#xff0c;人们更趋向于足不出户解决各种问题&#xff0c;必录德健身器材用品网展现了其蓬勃生命力和广阔的前景。与此同时&#…

Redis中的集群(九)

集群 消息 集群中的各个节点通过发送和接收消息(message)来进行通信&#xff0c;我们称发送消息的节点为发送者(sender),接收消息 的节点成为接收者&#xff0c;如图所示。节点发送的消息主要有以下五种: 1.MEET消息:当发送者接到客户端发送的CLUSTER MEET命令时&#xff0c…

# Nacos 服务发现-快速入门-创建服务消费者模块,使用 feign 调用 服务生产者

Nacos 服务发现-快速入门-创建服务消费者模块&#xff0c;使用 feign 调用 服务生产者 1、 新增 quickstart_consumer 子工程&#xff08;子模块&#xff09;&#xff0c; 创建子模块&#xff1a;--> 右键 nacos_discovery 父工程 --> Modules --> Maven --> G…

android gradle版本无法下载

android gradle版本无法下载问题解决方法 在引入一个新的android项目的时候&#xff0c;通常会因为无法下载gradle版本而一直卡在同步界面&#xff0c;类似于下面的情况。 这是因为gradle运行时首先会检查distributionUrlhttps://services.gradle.org/distributions/gradle-5.6…

·13·1dawwd

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话&#xff1a; 知不足而奋进&#xff0c;望远山而前行&am…

lv_micropython to download and building

想要在ESP32-C3使用Micropython开发GUI&#xff0c;所以需要编译lv_micropython&#xff0c;当前github上的版本是9.1.0。 一、开发环境 因为编译lv_micropython需要在linux系统下&#xff0c;但是我的电脑是windows系统&#xff0c;所以我在windows系统上安装了VMware虚拟机&…

牛客2024【牛客赛文X】春招冲刺ONT61 每日温度【hard 单调栈 Java、Go、PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/1f54e163e6944cc7b8759cc09e9c78d8 思路 单调栈最直接的应用就是获取数组中每个位置i,i的左边第一个比i大或者小的位置/数以及,i的右边第一个比i大或者小的位置/数不懂的同学看这里https://blog.csdn.net/Borsl…

Vulnhub靶机 DC-1渗透详细过程

Vulnhub靶机:DC-1渗透详细过程 目录 Vulnhub靶机:DC-1渗透详细过程一、将靶机导入到虚拟机当中二、攻击方式主机发现端口扫描web渗透利用msf反弹shell数据库信息web管理员密码提权 一、将靶机导入到虚拟机当中 靶机地址&#xff1a; https://www.vulnhub.com/entry/dc-1-1,29…

英伟达高性能芯片供货周期缩短到2-3个月,今年GPU不再紧缺?

戴尔台湾地区总经理Terence Liao近日称&#xff0c;英伟达高性能 AI GPU的交付周期在过去几个月中已从3-4个月缩短到仅2-3个月&#xff0c;进入2024年以来交货等待时间一直在不短缩短&#xff0c;目前的2-3个月已经是英伟达高性能GPU最短的交货期。 英伟达公司正在不断努力提高…