当前位置: 首页 > article >正文

爬虫:网络请求(通信)步骤,http和https协议

电脑(浏览器):www.baidu.com——url

DNS服务器:IP地址标注服务器——1.1.38

DNS服务器返回IP地址给浏览器

浏览器拿到IP地址去访问服务器,返回响应

服务器返回给响应数据:html/css/js/jpg...

html:文本        css:样式,控制文字大小,颜色

js:行为        jpg:图片

实际原理:一个网络请求只能对应一个数据包(文件)

之后抓包可能会有很多个数据包,共同组成了这个页面

import requests
from bs4 import BeautifulSoup# 1. 明确目标URL
url = 'https://www.baidu.com'#以百度为例try:# 2. 建立网络连接并发起GET请求response = requests.get(url)# 3. 检查响应状态码if response.status_code == 200:# 4. 获取响应内容html_content = response.text# 5. 解析响应内容soup = BeautifulSoup(html_content, 'html.parser')# 提取网页标题title = soup.title.stringprint(f'网页标题: {title}')else:print(f'请求失败,状态码: {response.status_code}')except requests.RequestException as e:print(f'请求发生错误: {e}')

        确定目标 URL,发起GET请求,对响应状态码进行检查,解析响应内容并提取出网页标题,并处理可能出现的请求异常。

http和https协议:
http协议:规定了服务器和客户端互相通信的规则;超文本(不仅仅限于文本,还包括图片,音频,视频)传输协议(使用共用约定的固定格式来传递转换成字符串的超文本内容),默认端口号是80

https协议:http+ ssl/tls(安全套接字层)        默认端口号是443

ssl对传输的内容进行加密

https比http更安全,但是性能更低

http相应/请求的步骤:

1.客户端连接到web服务器

2.发送http请求

3.服务器接受请求返回响应

4.释放连接tcp连接

5.客户端解析html内存

import requests# 发送HTTP请求
http_url = 'http://baidu.com'
http_response = requests.get(http_url)
print(f"HTTP响应状态码: {http_response.status_code}")# 发送HTTPS请求
https_url = 'https://www.google.com'
https_response = requests.get(https_url)
print(f"HTTPS响应状态码: {https_response.status_code}")

相关文章:

爬虫:网络请求(通信)步骤,http和https协议

电脑(浏览器):www.baidu.com——url DNS服务器:IP地址标注服务器——1.1.38 DNS服务器返回IP地址给浏览器 浏览器拿到IP地址去访问服务器,返回响应 服务器返回给响应数据:html/css/js/jpg... html:文本 cs…...

d2025331

目录 一、删除有序数组中的重复项II 二、删除有序数组中的重复项 三、数字转罗马格式 一、删除有序数组中的重复项II 一下写过,挺舒服! 1、统计超出2的数量有多少,仅保留2个重复数字 2、有多少次就从后往前覆盖几次 public int removeDupl…...

QT6开发指南笔记(1)QT简介,安装

(1)刚刚结束了 C 的学习,谢谢阿西老师的教导,开始 QT 的学习,运用 C ,而非 QML 。 保持知识的连贯性。 QT 公司 : (2)接着介绍 QT 的安装: 提取到的…...

Redis BitMap 实现签到及连续签到统计

一、引言 用户签到功能是很多应用都离不开的一个板块,单词打开、QQ达人等等为我们所熟知,这项功能该如何实现呢,一些朋友可能想当然的觉得无非将每日的签到数据记录下来不就好了,不会去细想用谁记录,如何记录才合适。 …...

全面解析 Spring AOP 切入点表达式

全面解析 Spring AOP 切入点表达式 大家好,我是钢板兽! Spring AOP(面向切面编程)是我们日常开发中实现日志记录、权限控制、事务管理等功能的神器。而切入点表达式(Pointcut Expression)则是这个神器的“…...

去中心化稳定币机制解析与产品策略建议

去中心化稳定币机制解析与产品策略建议(以Maker/DAI为例) 一、核心机制对比:法币抵押型 vs. 加密货币抵押型 法币抵押型(如USDT) 技术逻辑:1:1美元储备托管于中心化机构(如银行)&…...

GO语言杂记(文章持续更新)

1、MAIN冲突 在一个文件夹下有两个go文件同时写了main函数,将会报错,main函数只能在main包中。 实则不然,有些环境下并不会报错。 2、gofmt命令---自动对齐 命令作用:将go文件代码自动缩进。 gofmt -w escapecharprac.go...

OS6.【Linux】基本指令入门(5)

目录 1.配置公网IP到XShell中 2.日志 定义和作用 3.一些指令 date %Y、%m、%d、%H、%M、%S、%X、%F %s 时间戳的特点 时间戳的转换 cal cal 年份 其他选项 ★find★ whereis grep 练习 -v选项 -n选项 -i选项 多文件查找 特定目录下查找 1.配置公网IP到XShe…...

Moo0 VideoResizer,简单高效压缩视频!

Moo0 VideoResizer 是一款免费、轻量级的视频压缩工具,支持通过调整文件大小、屏幕尺寸或比特率等方式实现高效视频压缩。其核心优势在于操作简单且无需破解,可直接下载安装使用‌。软件注重用户友好性,采用非破坏性压缩技术,所有…...

【开发问题记录】高德地图 Web 端开发详解:高德地图 API 最佳实践指南(安装、marker添加、逆向地理编码、实际业务案例实操)

文章目录 1、引入高德地图的准备工作2、高德地图 JS API 使用方式2.1 JS API Loader2.1.1 使用 script 标签加载loader2.1.2 NPM 安装loader 2.2 script 标签加载 JS API 脚本2.2.1 同步加载2.2.2 异步加载 3、在 vue3 项目中使用3.1 安装 js api loader3.2 在组件中使用 4、实…...

Unity 简单使用Addressables加载SpriteAtlas图集资源

思路很简单,传入图集名和资源名,利用Addressables提供的异步加载方式从ab包中加载。加载完成后存储进缓存字典里,以供后续使用。 添加引用计数,防止多个地方使用同一图集时,不会提前释放 using UnityEngine; using U…...

LangChain 结构化输出:用 Pydantic + PydanticOutputParser 驯服 LLM 的“自由发挥”

目录 一、Pydantic 二、PydanticOutputParser 1、为什么需要 PydanticOutputParser? 2、Pydantic和PydanticOutputParser核心区别 3、Pydantic的不足 (1)无法直接解析非结构化文本 (2)缺乏对 LLM 输出的适配性 …...

快速入手-基于Django-rest-framework的自身组件权限认证(九)

1、在对应的视图函数里增加认证(局部起作用,不全局生效) 导入类: from rest_framework.authentication import ( BasicAuthentication, SessionAuthentication, ) from rest_framework.permissions import IsAuthentica…...

【复活吧,我的爱机!】Ideapad300-15isk拆机升级:加内存条 + 换固态硬盘 + 换电源

写在前面:本博客仅作记录学习之用,部分图片来自网络,如需引用请注明出处,同时如有侵犯您的权益,请联系删除! 文章目录 前言升级成本升级流程电池健康度加内存条和换内存条光驱位加装机械硬盘更换电池重装系…...

基于Spring AI开发本地Jenkins MCP Server服务

前言 首先介绍下MCP是什么? MCP是由开发了 Claude 模型的 Anthropic 公司2024年11月提出并开源的一项开放标准,全称:Model Context Protocol,它是一个开放协议,它使 LLM 应用与外部数据源和工具之间的无缝集成成为可能…...

基于简单神经网络的线性回归

一、概述 本代码实现了一个简单的神经网络进行线性回归任务。通过生成包含噪声的线性数据集,定义一个简单的神经网络类,使用梯度下降算法训练网络以拟合数据,并最终通过可视化展示原始数据、真实线性关系以及模型的预测结果。 二、依赖库 …...

【nvidia】Windows 双 A6000 显卡双显示器驱动更新问题修复

问题描述:windows自动更新nvidia驱动会导致只检测得到一个A6000显卡。 解决方法 下载 A6000 驱动 572.83-quadro-rtx-desktop-notebook-win10-win11-64bit-international-dch-whql.exehttps://download.csdn.net/download/qq_18846849/90554276 不要直接安装。如…...

《SRv6 网络编程:开启IP网络新时代》第2章、第3章:SRv6基本原理和基础协议

背景 根据工作要求、本人掌握的知识情况,仅针对《SRv6 网络编程:开启IP网络新时代》书籍中涉及的部分知识点进行总结梳理,并与工作小组进行分享,不涉及对原作的逐字搬运。 问题 组内同事提出的问题:本文缺扩展头描述…...

如何将AI模型返回的字符串转为html元素?

场景&#xff1a; 接入deepseek模型的api到我们平台&#xff0c;返回的字符串需要做下格式化处理。 返回的数据是这样的&#xff1a; {"role": "assistant","content": "<think>\n嗯&#xff0c;用户问的是“星体是什么”。首先&am…...

Citus源码(1)分布式表行为测试

最近对citus的实现非常好奇&#xff0c;本篇对citus的行为做一些测试。本篇只测行为&#xff0c;不分析源码。后面会继续写一系列文章分析citus源码。 环境&#xff1a;3节点 PG17 with citus。 SELECT citus_set_coordinator_host(127.0.0.1, 3001); SELECT citus_add_node(1…...

装饰器模式与模板方法模式实现MyBatis-Plus QueryWrapper 扩展

pom <dependency><groupId>com.github.yulichang</groupId><artifactId>mybatis-plus-join-boot-starter</artifactId> <!-- MyBatis 联表查询 --> </dependency>MPJLambdaWrapperX /*** 拓展 MyBatis Plus Join QueryWrapper 类&…...

【PCIE711-214】基于PCIe总线架构的4路HD-SDI/3G-SDI视频图像模拟源

产品概述 PCIE711-214是一款基于PCIE总线架构的4路SDI视频模拟源。该板卡为标准的PCIE插卡&#xff0c;全高尺寸&#xff0c;适合与PCIE总线的工控机或者服务器&#xff0c;板载协议处理器&#xff0c;可以通过PCIE总线将上位机的YUV 422格式视频数据下发通过SDI接口播放出去&…...

突破反爬困境:SDK开发,浏览器模块(七)

声明 本文所讨论的内容及技术均纯属学术交流与技术研究目的&#xff0c;旨在探讨和总结互联网数据流动、前后端技术架构及安全防御中的技术演进。文中提及的各类技术手段和策略均仅供技术人员在合法与合规的前提下进行研究、学习与防御测试之用。 作者不支持亦不鼓励任何未经授…...

rce操作

Linux命令长度突破限制 源码 <?php $param $_REQUEST[param];if ( strlen($param) < 8 ) {echo shell_exec($param); } echo执行函数&#xff0c;$_REQUEST可以接post、get、cookie传参 源码中对参数长度做了限制&#xff0c;小于8位&#xff0c;可以利用临时函数&…...

LabVIEW高效溢流阀测试系统

开发了一种基于LabVIEW软件和PLC硬件的溢流阀测试系统。通过集成神经网络优化的自适应PID控制器&#xff0c;该系统能自动进行压力稳定性、寿命以及动静态性能测试。该设计不仅提升了测试效率&#xff0c;还通过智能化控制提高了数据的精确性和操作的便捷性。 ​ 项目背景&…...

Spring Boot 中 JdbcTemplate 处理枚举类型转换 和 减少数据库连接的方法 的详细说明,包含代码示例和关键要点

以下是 Spring Boot 中 JdbcTemplate 处理枚举类型转换 和 减少数据库连接的方法 的详细说明&#xff0c;包含代码示例和关键要点&#xff1a; 一、JdbcTemplate 处理枚举类型转换 1. 场景说明 假设数据库存储的是枚举的 String 或 int 值&#xff0c;但 Java 实体类使用 enu…...

DataGear 5.3.0 制作支持导出表格数据的数据可视化看板

DataGear 内置表格图表底层采用的是DataTable表格组件&#xff0c;默认并未引入导出数据的JS支持库&#xff0c;如果有导出表格数据需求&#xff0c;则可以在看板中引入导出相关JS支持库&#xff0c;制作具有导出CSV、Excel、PDF功能的表格数据看板。 在新发布的5.3.0版本中&a…...

Web网页内嵌 Adobe Pdf Reader 谷歌Chrome在线预览编辑PDF文档

随着数字化办公的普及&#xff0c;PDF文档已成为信息处理的核心载体&#xff0c;虽然桌面端有很多软件可以实现预览编辑PDF文档&#xff0c;而在线在线预览编辑PDF也日益成为一个难题。 作为网页内嵌本地程序的佼佼者——猿大师中间件&#xff0c;之前发布的猿大师办公助手&am…...

歌词json

绽放&#xff08;4:17&#xff09; {"lyrics": [{time: 00:00, text: 作词&#xff1a;郑润泽},{time: 00:01, text: 作曲&#xff1a;郑润泽},{time: 00:02, text: 编曲&#xff1a;赵建飞},{time: 00:03, text: 制作人&#xff1a;李淘/赵建飞},{time: 00:09, tex…...

CNG汽车加气站操作工备考真题及答案解析【判断题】

1、燃气经营许可证按照燃气经营规模和类别实行分级审批。&#xff08;√&#xff09; 解析&#xff1a;不同规模和类别的燃气经营&#xff0c;其许可证审批级别不同&#xff0c;以确保经营活动的规范和安全。 2、依照《安全生产法》的规定&#xff0c;安全生产监督检查人员对检…...