• 网络爬虫requests库使用指南


    目录

    引言

    安装requests库

    基本用法

    发送GET请求

    发送POST请求

    处理请求头和Cookies

    设置请求头

    使用Cookies

    会话管理

    异常处理

    流式上传和下载

    结语


    引言

            在Python中进行HTTP请求时,requests库是一个强大且易于使用的第三方库。它允许你发送各种HTTP请求,如GET、POST、PUT、DELETE等,并且可以轻松处理请求头、Cookies、会话等。本文将详细介绍requests库的基本用法。

    安装requests

    在开始之前,确保你的环境中安装了requests库。如果尚未安装,可以通过以下命令进行安装:

    pip install requests

    基本用法

    发送GET请求

    GET请求通常用于从服务器请求数据。使用requests发送GET请求非常简单:

    1. import requests
    2. # 发送GET请求
    3. response = requests.get('https://www.example.com')
    4. # 打印响应内容
    5. print(response.text)

    发送POST请求

    POST请求用于向服务器提交数据。以下是如何使用requests发送POST请求的示例:

    1. # 发送POST请求
    2. payload = {'key1': 'value1', 'key2': 'value2'}
    3. response = requests.post('https://www.example.com', data=payload)
    4. # 打印响应内容
    5. print(response.text)

    处理请求头和Cookies

    设置请求头

    网络爬虫设置代理服务器-CSDN博客,这篇有详细解释,请求头怎么通过F12查询哦!

    请求头可以提供额外的信息,如用户代理、内容类型等:

    1. headers = {
    2. 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)',
    3. 'Content-Type': 'application/json'
    4. }
    5. response = requests.get('https://www.example.com', headers=headers)

    使用Cookies

    Cookies用于维护会话状态,可以通过字典传递给requests

    1. cookies = {'session_token': 'abc123'}
    2. response = requests.get('https://www.example.com', cookies=cookies)

    会话管理

    requests提供了会话对象,用于在多个请求之间保持某些参数:

    1. with requests.Session() as session:
    2. session.headers.update({'Authorization': 'Bearer your_token_here'})
    3. response = session.get('https://www.example.com/api/resource')

    异常处理

    使用requests时,可能会遇到各种异常,如连接错误、超时等。使用try-except块来处理这些异常:

    1. try:
    2. response = requests.get('https://www.example.com', timeout=0.01)
    3. except requests.exceptions.Timeout:
    4. print("请求超时")
    5. except requests.exceptions.RequestException as e:
    6. print(f"请求异常: {e}")

    流式上传和下载

    requests支持流式上传和下载,适合处理大文件:

    1. # 流式下载
    2. with requests.get('https://www.example.com/largefile', stream=True) as r:
    3. with open('localfile', 'wb') as f:
    4. for chunk in r.iter_content(chunk_size=8192):
    5. f.write(chunk)
    6. # 流式上传
    7. with open('localfile', 'rb') as f:
    8. files = {'file': ('localfile', f)}
    9. response = requests.post('https://www.example.com/upload', files=files)

    结语

    requests库是Python中进行HTTP请求的强大工具。它简洁的API使得发送请求、处理响应变得非常简单。本文介绍了requests的基本用法,包括GET和POST请求、设置请求头和Cookies、会话管理、异常处理以及流式上传和下载。掌握这些基础,将有助于你在项目中更高效地使用网络请求。

  • 相关阅读:
    CircuitPython入门贴
    零钱兑换问题
    高通KMD框架详解
    反射、代理模式、注解
    MySQL安装(1)
    AppWidget(桌面小部件)
    vue富文本编辑器wangeditor输入空格回车的必填判断
    qtday3
    Linux中的进程终止(详解)
    Linux动态库*.so函数名修改
  • 原文地址:https://blog.csdn.net/weixin_49816293/article/details/139869408