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

爬虫系列之发送请求与响应《一》

一、请求组成

1.1 请求方式:GET和POST请求

GET:从服务器获取,请求参数直接附在URL之后,便于查看和分享,常用于获取数据和查询操作
POST:用于向服务器提交数据,其参数不会显示在URL中,而是包含在请求体中,适用于要保密的数据处理,如表单提交

1.2 请求url:目标url(链接)

1.3 请求头

请求头信息告诉服务器有关于客户端请求的信息
(1)User-Agent 的识别与应用
User-Agent报头携带客户端身份信息,如浏览器名称和版本,服务器利用这些信息进行内容适配或返回特定响应,相当于人的身份证
 

(2) Referer 报头的跟踪功能
Referer报头记录了请求发起的原始页面url,通过分析这一信息,可以追踪用户在网址键得到导航路径(从哪个页面跳转过来的

(3)Cookie 报头作用
Cookie报头使浏览器能够向服务器发送存储的用户信息,这些小型数据体支持状态维护、用户认证等web功能,主要帮助我们维持登录状态

1.4 请求体:携带的参数


二、GET和POST传参

注意:在浏览器发送的请求都是get请求,post请求只能在代码中使用

2.1 get 传参

方法一:

response = requests.get(url='https://httpbin.org/get?age=18&name=tom')   

直接写在url里面,问号?后面的就是携带的参数,多个参数用&隔开

方法二:

params ={
    "age":18
}
response = requests.get(url='https://httpbin.org/get?age=18',params=params)  

写在参数里面

2.2 POST 传参

data = {
    "user":'tom'
}
response = requests.post(url='https://httpbin.org/post',headers=header,data=data)

三、利用开发者工具查看携带的参数

在浏览器按下 F12 打开开发者工具

 携带参数才会有载荷,载荷里面可以查看携带的参数


四、实战之爬取百度首页

前提:需要安装依赖模块  requests

pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple

完整步骤

import requests

# 1,身份伪装
header={
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
}
# 2,目标url
url = 'https://www.baidu.com/'

# 3,发起get请求
response = requests.get(url=url,headers=header)

# 4,打印当前内容的编码格式,再去对比开发者工具当中响应内容的编码,要对应上才不会乱码
print("编码格式为:",response.encoding)
# 5,修改编码格式
response.encoding="utf-8"
# 6,查看请求头字段:查看是否需要进行伪装
print(response.request.headers)
# 7,打印结果
print(response.text)  # .text 是以字符串返回的

特别提醒:查看网页元素的编码格式参照以下步骤



http://www.kler.cn/a/571772.html

相关文章:

  • 通俗版解释:分布式和微服务就像开餐厅
  • sa-token全局过滤器之写法优化(包含设置Order属性)
  • HiRT:利用分层机器人Transformer 增强机器人控制
  • 企业级Python后端数据库使用指南(简略版)
  • 计算机视觉算法实战——医学影像分割(主页有源码)
  • 深入解析Tiktokenizer:大语言模型中核心分词技术的原理与架构
  • Spring线程池学习笔记
  • [LeetCode]day33 150.逆波兰式求表达值 + 239.滑动窗口最大值
  • STM32MP1xx的启动流程
  • 【数据结构与算法】常见数据结构与算法在JDK和Spring中的实现:源码解析与实战代码!
  • Arm64架构的Linux服务器安装jdk8
  • 珈和科技亮相CCTV-13《新闻直播间》,AI多模态农业大模型引领智慧农业新变革
  • 【蓝桥杯集训·每日一题2025】 AcWing 5526. 平衡细菌 python
  • 最新Flutter导航拦截PopScope使用
  • 国家网络安全通报中心:大模型工具Ollama存在安全风险
  • Ubuntu的tmux配置
  • Delphi连接MySql数据库房
  • 高效玩转 PDF:实用的分割、合并操作详解
  • 迷你世界脚本道具接口:Item
  • 记一次(0xC0000005)内存访问冲突( Tkinter 嵌入 PyQt5 的 QWebEngineView)