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

news/2025/3/4 20:05:51/

一、请求组成

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 传参

方法一:

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

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

方法二:

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

写在参数里面

2.2 POST 传参

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

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

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

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


四、实战之爬取百度首页

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

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

完整步骤

python">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.ppmy.cn/news/1576628.html

相关文章

迷你世界脚本玩家接口:Player

玩家接口:Player 彼得兔 更新时间: 2024-07-28 17:49:05 继承自 Actor 具体函数名及描述如下: 序号 函数名 函数描述 1 getAttr(...) 玩家属性获取 2 setAttr(...) 玩家属性设置 3 getHostUin(...) 获取房主uin 4 isMainPlayer(...) …

【AI深度学习基础】NumPy完全指南进阶篇:核心功能与工程实践(含完整代码)

NumPy系列文章 入门篇进阶篇终极篇 一、引言 在掌握NumPy基础操作后,开发者常面临真实工程场景中的三大挑战:如何优雅地处理高维数据交互?如何在大规模计算中实现内存与性能的平衡?怎样与深度学习框架实现高效协同?…

行为型模式 - 观察者模式 (Publish/Subscribe)

行为型模式 - 观察者模式 (Publish/Subscribe) 又称作为订阅发布模式(Publish-Subscribe Pattern)是一种消息传递模式,在该模式中,发送者(发布者)不会直接将消息发送给特定的接收者(订阅者&…

LeetCode 热题 100_最小栈(70_155_中等_C++)(栈)(辅助栈)(栈中的push和emplace对比)

LeetCode 热题 100_最小栈(70_155) 题目描述:输入输出样例:题解:解题思路:思路一(辅助栈): 代码实现代码实现(思路一(辅助栈)&#xf…

基于 MetaGPT 自部署一个类似 MGX 的多智能体协作框架

MGX(由 MetaGPT 团队开发的 mgx.dev)是一个收费的多智能体编程平台,提供从需求分析到代码生成、测试和修复的全流程自动化功能。虽然 MGX 本身需要付费,但您可以通过免费服务和开源项目搭建一个类似的功能。以下是一个分步骤的实现…

GPT-4.5 怎么样?如何升级使用ChatGPTPlus/Pro? GPT-4.5设计目标是成为一款非推理型模型的巅峰之作

GPT-4.5 怎么样?如何升级使用ChatGPTPlus/Pro? GPT-4.5设计目标是成为一款非推理型模型的巅峰之作 今天我们来说说上午发布的GPT-4.5,接下来我们说说GPT4.5到底如何,有哪些功能?有哪些性能提升?怎么快速使用到GPT-4.…

PDF文档中表格以及形状解析

我们在做PDF文档解析时有时需要解析PDF文档中的表格、形状等数据。跟解析文本类似的常见的解决方案也是两种。文档解析跟ocr技术处理。下面我们来看看使用文档解析的方案来做PDF文档中的表格、图形解析(使用pdfium库)。 表格解析: 在pdfium库…

【算法】【优选算法】滑动窗口(下)

目录 一、904.⽔果成篮1.1 滑动窗口1.2 暴力枚举 二、438.找到字符串中所有字⺟异位词2.1 滑动窗口2.2 暴力枚举 三、30.串联所有单词的⼦串3.1 滑动窗口3.2 暴力枚举 四、76.最⼩覆盖⼦串4.1 滑动窗口4.2 暴力枚举 一、904.⽔果成篮 题目链接:904.⽔果成篮 题目描…