爬虫:网络请求(通信)步骤,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.string
        print(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}")
相关推荐
REDcker7 小时前
显示分辨率标准对照详解
前端·网络·分辨率·显示·屏幕
ANSIOT8 小时前
安朔科技蓝牙无感开锁方案,靠近自动解锁
网络·科技·物联网
晏宁科技YaningAI9 小时前
VoIP系统的工程实现模型:从信令控制到媒体传输的完整架构解析
网络·人工智能·架构·系统架构·信息与通信
神奇霸王龙12 小时前
Claude Code屠榜:MiMo与Grok紧追Codex
服务器·网络·人工智能·gpt·ai·ai编程
TlSfoward13 小时前
抓包代理链路下的 TLS 指纹变化分析 TLSFOWARD抓包工具
数据库·爬虫·网络协议·搜索引擎·php
数智化管理手记14 小时前
账龄分析手工统计易遗漏?自动账龄分析工具怎么搭建
大数据·网络·数据库·人工智能·数据挖掘
LabVIEW开发14 小时前
NI Package Manager安装LabVIEW时InternalServerError错误
网络·数据库·labview·labview知识·labview功能·labview程序
RD_daoyi14 小时前
外链权重暴跌至13%,品牌提及反超传统链接——2026年不做Digital PR,你的独立站等于隐形
运维·网络·学习·机器学习·搜索引擎
电商API_1800790524715 小时前
企业ERP进销存场景|京东商品详情接口自动同步方案|凭证鉴权批量调用技术实操
大数据·运维·人工智能·爬虫·数据挖掘·网络爬虫
张小姐的猫15 小时前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式