【Python爬虫开发基础⑪】requests库概述(GET和POST请求)

这篇具有很好参考价值的文章主要介绍了【Python爬虫开发基础⑪】requests库概述(GET和POST请求)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🚀个人主页:为梦而生~ 关注我一起学习吧!
💡专栏:python网络爬虫从基础到实战 欢迎订阅!后面的内容会越来越有意思~
💡往期推荐
⭐️前面比较重要的基础内容
【Python爬虫开发基础⑥】计算机网络基础(Web和HTTP)
【Python爬虫开发基础⑦】urllib库的基本使用
【Python爬虫开发基础⑧】XPath库及其基本用法
【Python爬虫开发基础⑨】jsonpath和BeautifulSoup库概述及其对比
【Python爬虫开发基础⑩】selenium概述
⭐️爬虫的实战文章
【Python爬虫开发实战①】使用urllib以及XPath爬取可爱小猫图片
【Python爬虫开发实战②】使用urllib以及jsonpath爬取即将上映电影信息
大家可以复制代码感受一下爬虫的魅力~
💡本期内容:本期我们要讲一个爬虫常用的库:requests,它的功能能够完全覆盖urllib,并且要比urllib简单易操作,下面我们马上开始吧!



1 requests库简介

requests 是一个用于发送 HTTP 请求的流行 Python 库。它提供了简洁而直观的 API,使得与 Web 服务进行交互变得非常方便。requests 库可以完成多种 HTTP 请求操作,如发送 GET、POST、PUT、DELETE 等请求,设置请求头、处理响应以及会话管理等功能。

下面是 requests 库的一些主要特点和功能:

  • 简洁易用:requests 的 API 设计非常简单易懂,上手容易,使用它可以轻松地发送 HTTP 请求、处理响应等操作。

  • 支持多种请求方式:requests 支持发送多种类型的 HTTP 请求,包括 GET、POST、PUT、DELETE 等,并且支持自定义请求头、请求参数、请求体等。

  • 会话管理requests.Session 类提供了会话管理功能,可以在多个请求之间保持会话状态,例如保持登录状态、传递 cookie 等。

  • 强大的响应处理能力:requests 可以方便地处理各种类型的响应结果,包括文本、JSON、图片、文件等,还支持响应的编码和解码。

  • 完善的错误处理机制:requests 对网络请求中可能出现的异常情况进行了处理,如超时、连接错误等,同时提供了对 HTTP 错误状态码的处理功能。

与其他库一样,如需要安装requests库,使用一下命令即可

pip install requests

2 发送GET请求

使用 requests 库发送 GET 请求非常简单,只需要调用 requests.get() 方法,并传入目标 URL 即可。

import requests

# 发送 GET 请求
url = 'https://api.example.com/users'
response = requests.get(url)

# 检查响应状态码
if response.status_code == 200:
    # 获取响应内容(文本格式)
    content = response.text
    print(f'Response content: {content}')
else:
    print('Failed to retrieve data. Status code:', response.status_code)

在上述示例代码中,我们使用了 requests.get() 方法来发送 GET 请求,并指定目标 URL 为 'https://api.example.com/users'。接着,我们通过检查 response 对象的 status_code 属性来判断请求是否成功(200 表示成功)。如果成功,我们可以通过 response.text 来获取响应内容,并将其打印出来。如果请求失败,则打印相应的错误信息和状态码。

注意:在实际应用中,可能需要更多的参数来发送 GET 请求,例如请求头、请求参数等。requests 库提供了丰富的选项来满足不同场景的需求,可以根据具体情况进行相应的设置。


3 发送POST请求

使用 requests 库发送 POST 请求同样非常简单,需要调用 requests.post() 方法,并传入目标 URL 和请求数据即可。

import requests

# 发送 POST 请求
url = 'https://api.example.com/users'
data = {'name': 'John', 'age': 25}
response = requests.post(url, data=data)

# 检查响应状态码
if response.status_code == 200:
    # 获取响应内容(文本格式)
    content = response.text
    print(f'Response content: {content}')
else:
    print('Failed to submit data. Status code:', response.status_code)

在上述示例代码中,我们使用了 requests.post() 方法来发送 POST 请求,并指定目标 URL 为 'https://api.example.com/users'。其中,data 是一个字典,包含了需要发送给服务器的数据。

接下来,我们使用 response 对象的 status_code 属性来检查请求是否成功(200 表示成功)。如果成功,我们可以通过 response.text 来获取响应内容,并将其打印出来。如果请求失败,则打印相应的错误信息和状态码。


4 参数传递

在使用 requests 库发送请求时,你可以通过参数来传递额外的信息,例如请求头、请求参数、认证凭据等。

  1. headers:用于设置请求头,包含了请求的元数据信息,如 User-Agent、Content-Type 等。
  2. params:用于传递查询字符串参数,将参数附加到 URL 上。
  3. data:用于传递表单数据或请求体数据,常用于 POST 请求。
  4. json:用于传递 JSON 数据,常用于 POST 请求。
  5. auth:用于进行身份验证,支持多种验证方式,如基本身份验证 (Basic Authentication)、摘要身份验证 (Digest Authentication) 等。

示例代码

import requests

# 设置请求头
headers = {'User-Agent': 'Mozilla/5.0'}
url = 'https://api.example.com/users'
params = {'page': 1}
data = {'name': 'John', 'age': 25}
json_data = {'name': 'John', 'age': 25}
auth = ('username', 'password')

# 发送 GET 请求(带请求头和查询字符串参数)
response = requests.get(url, headers=headers, params=params)

# 发送 POST 请求(带请求头和表单数据)
response = requests.post(url, headers=headers, data=data)

# 发送 POST 请求(带请求头和 JSON 数据)
response = requests.post(url, headers=headers, json=json_data)

# 发送带身份验证的请求
response = requests.get(url, auth=auth)

在上述示例代码中,我们使用了不同的参数来发送请求。通过传递 headers 参数可以设置请求头,传递 params 参数可以将查询字符串参数附加到 URL 上,传递 data 参数可以传递表单数据或请求体数据,传递 json 参数可以传递 JSON 数据,传递 auth 参数可以进行身份验证。

另外,可以参考官方文档或库的文档来了解更多参数细节和使用方法。文章来源地址https://www.toymoban.com/news/detail-529803.html

到了这里,关于【Python爬虫开发基础⑪】requests库概述(GET和POST请求)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python爬虫 —— urllib库的使用(get/post请求+模拟超时/浏览器)

    爬虫简介 :网络爬虫就是按照一定规则,自动抓取互联网信息的程序或脚本,由于互联网数据的多样性和资源的有限性,根据用户需求定向抓取相关网页并分析就是爬虫要做的工作 为什么我们把它称为爬虫(Spider)嘞?互联网就像是一张大网,而每一个网页就是这张大网上

    2023年04月13日
    浏览(21)
  • 爬虫(Requests库get和post应用)

    Requests是Python中用于进行 HTTPS 请求的库。它提供了一种简单直观的API,用于发送 HTTP,HTTPS 请求和处理响应。 参数 url,一般放置需要请求的URL headers,一般用于User-agent(UA)伪装,避免服务器识别出机器请求,headers的获取方法可以为浏览器单击右键选择 检查 ,随后点击 网络

    2024年02月10日
    浏览(31)
  • 使用Flask.Request的方法和属性,获取get和post请求参数(二)

    在Python发送Post、Get等请求时,我们使用到requests库。Flask中有一个request库,有其特有的一些方法和属性,注意跟requests不是同一个。 用于服务端获取客户端请求数据。注意:是未经任何处理的原始数据而不管内容类型,如果数据时json的,则取得是json字符串,排序和请求参数

    2024年02月13日
    浏览(22)
  • uni-app封装request请求及get、post、put等方法

    直接上代码 request.js文件 export default {   common: {     baseUrl: \\\"http://172.20.4.212:3000/api\\\",     data: {},     header: {       \\\"Content-Type\\\": \\\"application/json\\\",       \\\"Content-Type\\\": \\\"application/x-www-form-urlencoded\\\"     },     method: \\\"GET\\\",     dataType: \\\"json\\\"   },   request (options = {}) {     uni.showLoading({  

    2024年02月09日
    浏览(22)
  • 微信小程序(二)--- 数据绑定,事件绑定,全局配置window,tabBar,网络数据请求,request合法域名,GET,POST

    目录 一、WXML模板语法 1、数据绑定 (1)Mustache语法 2、事件绑定  (1)常用事件  (2)属性列表  (3)target和currentTarget的区别  (4)bindtap语法格式  (5)在事件处理函数中为data中的数据赋值 (6)事件传参 (7)bindinput的语法格式 (8)实现文本框(input)和data之间的数

    2024年02月04日
    浏览(26)
  • 基础知识:HTTP协议以及GET请求和POST请求的区别

    qq对于HTTP协议,做Web编程的开发人员再熟悉不过了。  不论是前端Html页面通过Ajax还是客户端通过 HttpClient 又或服务端与服务端之间的Rest请求,这都需要通过Http协议完成请求  。在HTTP协议中,我们最常用的是GET和POST请求,对于这两个方法,应该是最基础的东西。但是,两

    2024年02月08日
    浏览(69)
  • 【100天精通python】Day42:python网络爬虫开发_HTTP请求库requests 常用语法与实战

    目录 1 HTTP协议 2  HTTP与HTTPS 3 HTTP请求过程  3.1 HTTP请求过程 3.2 GET请求与POST请求

    2024年02月12日
    浏览(30)
  • Python - FastAPI 实现 get、post 请求

    目录 一.引言 二.FastAPI Server 构建 1.get - read_items 2.post - create_item 3.uvicorn - run_app 三.Postman 请求 1.post - create_item 2.get - read_items 四.Requests 请求 1.post - create_item 2.get - read_items 五.总结 前面介绍了 LLM 的相关知识,从样本加载、模型加载到后面的模型训练与模型推理,我们经历的完

    2024年02月05日
    浏览(20)
  • 【Python爬虫开发基础⑩】selenium概述

    🚀 个人主页 :为梦而生~ 关注我一起学习吧! 💡 专栏 :python网络爬虫从基础到实战 欢迎订阅!后面的内容会越来越有意思~ 💡 往期推荐 : ⭐️前面比较重要的 基础内容 : 【Python爬虫开发基础⑥】计算机网络基础(Web和HTTP) 【Python爬虫开发基础⑦】urllib库的基本使用

    2024年02月12日
    浏览(22)
  • Python+Requests模拟发送post请求

    发送post请求的基础知识dumps和loads 代码示例: 以微信开放平台举例 发送post请求 查看执行结果:  上传文件 查看执行结果  封装post请求 代码示例: 封装main方法 代码示例: 封装测试类 示例代码: 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用

    2024年02月07日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包