Python 爬虫 (1)基础 | Request与Response

server/2024/12/2 23:19:24/

文章目录

  • 一、Request包
    • 1、发送请求
      • 1.1、关键字参数
      • 1.2、应用示例
    • 2、处理响应

前言:

在Python编程中,经常需要从互联网上获取或发送数据,这涉及到了网络编程。而在网络编程中,HTTP请求是不可或缺的一部分。Python的Requests包是一个非常强大且易于使用的工具,它能够帮助我们轻松地发送HTTP请求并处理响应。

一、Request包

1、发送请求

Requests包支持所有常见的HTTP请求方法,包括GETPOSTPUTDELETE等。你可以使用它来向指定的URL发送请求,并获取服务器的响应。

1.1、关键字参数

发送请求时需要携带一些参数,下面是常见的参数:

  • url:请求URL。
  • paramsget请求传递的参数。
  • datapost请求传递的参数。
  • headers:http协议请求头。
  • cookies:客户端保存的cookie值。

1.2、应用示例

2、处理响应

使用Requests包发送一个HTTP请求后,返回的response对象是一个requests.Response类型的实例。这个对象包含了服务器响应的所有信息,如状态码、响应头、响应体等。requests.Response对象的主要属性和方法包括:

  • status_code:HTTP状态码,如200表示成功,404表示未找到等。
  • headers:响应头信息,是一个字典(或类似字典的对象),包含了服务器返回的所有头部字段。
  • text:响应体的字符串形式,通常是对响应体进行解码(如UTF-8)后的结果。
  • content:响应体的字节形式(服务器返回的响应内容默认是字节串格式),即原始的二进制数据。如果响应内容是二进制数据(如图片、视频等),则应该直接使用.content属性,而不是尝试解码为字符串。
  • json():如果响应体是JSON格式的,可以使用这个方法将其解析为Python字典或列表。
  • encoding:响应体的编码方式,默认为’ISO-8859-1’,但通常会自动根据响应头中的Content-Type字段来设置。如果确信响应是UTF-8编码,但响应头中未指定,可以手动设置response.encoding = 'utf-8'来确保正确解码。在解码过程中,如果遇到无法解码的字节,可能会抛出UnicodeDecodeError异常。
  • url:最终请求的URL,可能是重定向后的URL。
  • cookies:从响应中提取的Cookies,是一个requests.cookies.RequestsCookieJar对象。

http://www.ppmy.cn/server/146863.html

相关文章

Vue构建错误解决:(error TS6133)xxx is declared but its value is never read.

TypeScript会检查代码中未使用的变量,如果vscode安装了Vue的语法检查工具,会看到告警提示,再npm run build的时候,这个警告会变成错误 解决方案1:删除定义了未使用的变量 推荐使用这种方案,能保证代码的质…

JAVA项目-------医院挂号系统

1,项目目的 1、科室管理:新增科室,删除科室(如果有医生在,则不能删除该科室),修改科室。 2、医生管理:录入医生信息,以及科室信息。修改医生信息(主要是修改…

【K8s】【部署】集群部署

1 主机/服务规划 主机IP主机名节点功能类型服务分布192.168.199.20k8s.master.vip vip虚拟IP192.168.199.21k8s01k8s-MasterKeepalived、HAProxy、Docker192.168.199.22k8s02k8s-MasterKeepalived、HAProxy、Docker192.168.199.23k8s03k8s-NodeDocker192.168.199.24k8s04k8s-N…

Z2400039基于Java-+ SpringBoot + vue 企业信息管理系统的设计与实现(源码 配置 PPT 文档 分享)

企业信息管理系统 1.项目描述2.项目结构后端(Spring Boot)前端(Vue.js Element UI) 2. 功能实现登录页首页系统管理岗位管理部门管理 3. 部署和运行注意事项 4.界面展示5.源码获取 1.项目描述 基于你的描述,这个项目…

buuctf-[SUCTF 2019]EasySQL 1解题记录

把你的旗帜给我,我会告诉你这面旗帜是对的。 堆叠注入查询数据库 1; show databases; ​ 查询表名 1; show tables; 获取flag 1;set sql_modepipes_as_concat;select 1

在WSL 2 (Ubuntu 22.04)安装Docker Ce 启动错误解决

查看WSL版本 在 Windows 命令提示符(CMD)或 PowerShell 中,你可以使用以下命令来查看已安装的 WSL 发行版及其版本信息: wsl -l -v(base) PS C:\Users\Lenovo> wsl -l -vNAME STATE VERSION * Ubuntu-2…

android 安全sdk相关

前述 在网上有看到许多android安全sdk相关的内容,有重复的也有比较新鲜的内容,这里做一个整体的合集,以及后续又看到一些比较新的东西会一起放在这里。 android内sdk目前可以分为以下几个部分(有一些部分可能会存在一些重合&#…

02-Linux系统权限维持

02-Linux系统权限维持 一 创建账号 1 在/etc/passwd中创建root的特权用户 /etc/passwd中数据的格式 账号:密码:uid:gid:描述:家目录:shell解释器,我们可以在/etc/passwd文件中添加一个test账号,密码为password123(密文advwtv/9yU5yQ&#…