Python Requests:轻松搞定HTTP请求!

嗨,大家好!今天,我要和大家一起聊聊 Python 中的 Requests 库。如果你想要在编程世界里玩转HTTP请求,不管是抓取网页内容、访问API还是模拟登录,Requests 是你的得力助手。让我们快速了解一下如何使用这个令人眼前一亮的库吧!

1. 安装 Requests

首先,我们得确保 Requests 库已经安装了。如果你还没有安装,可以使用以下命令:

python 复制代码
pip install requests

2. 发送 GET 请求

使用 Requests 发送一个简单的 GET 请求非常容易。只需几行代码,你就可以获取一个网页的内容:

python 复制代码
import requests

response = requests.get("https://www.example.com")
print(response.text)

是不是非常简单?这个代码会向 "www.example.com" 发送一个 GET 请求,并打印出网页的内容。

3. 发送 POST 请求

如果你需要向服务器提交数据,比如登录或提交表单,可以使用 POST 请求:

python 复制代码
import requests

data = {"username": "my_username", "password": "my_password"}
response = requests.post("https://www.example.com/login", data=data)
print(response.text)

这个例子中,我们模拟了一个登录请求,向服务器发送了用户名和密码。

4. 处理响应

Requests 不仅可以发送请求,还能处理服务器返回的响应。你可以获取响应的状态码、头部信息以及响应内容:

python 复制代码
import requests

response = requests.get("https://www.example.com")
print("状态码:", response.status_code)
print("响应头部:", response.headers)
print("响应内容:", response.text)

5. 处理 JSON 数据

如果你访问的是一个API,并且它返回 JSON 格式的数据,你可以使用 Requests 自动解析JSON数据:

python 复制代码
import requests

response = requests.get("https://api.example.com/data")
data = response.json()
print(data)

6. 处理异常

在实际应用中,网络请求可能会失败。为了让你的代码更健壮,记得处理异常情况:

python 复制代码
import requests

try:
    response = requests.get("https://www.nonexistentwebsite.com")
    response.raise_for_status()  # 检查响应状态
except requests.exceptions.RequestException as e:
    print("出错了:", e)

这段代码会捕获请求异常,并打印出错误信息。

7. 自定义请求头

有时候,你可能需要自定义请求头部信息,比如模拟浏览器请求:

python 复制代码
import requests

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}
response = requests.get("https://www.example.com", headers=headers)

这会让你的请求看起来更像是来自浏览器。

这只是 Requests 库的冰山一角。它还有更多强大的功能,比如处理会话、文件上传和下载,以及处理Cookie等等。希望这个快速入门能让你对 Requests 有个初步的了解,让你在网络编程中游刃有余。加油,编程世界等着你来征服!

本文由mdnice多平台发布

相关推荐
ZZHow10242 分钟前
PyTorch深度学习入门笔记(小土堆)P7-14
人工智能·pytorch·笔记·python·深度学习
很楠爱上40 分钟前
AI项目------赛博负熵:拆解一个 Codex 生成的英语背单词全栈工程(附源码文件免费)
人工智能·python·codex
小挪号底迪滴44 分钟前
Docker 多阶段构建实战:让 Python 镜像更小、更快、更安全
python·安全·docker
WangChenGe1 小时前
Windows 10/11 上 Pyenv-win 完整安装教程
python
想会飞的蒲公英1 小时前
PyTorch中SGD 与 Momentum 从零理解:给最朴素的优化器加上“惯性“
人工智能·pytorch·python·深度学习·机器学习
拿铁铁1 小时前
平板坡口机换碳刷时间参考手册
python·电脑
略略略咯咯1 小时前
stream流浅拷贝
开发语言·python
vx-程序开发1 小时前
【java项目分享】springboot农产品销售平台14952
java·javascript·spring boot·python·eclipse·django·php
Wesleyblue2 小时前
python计算余弦相似性和汉明距离
python·余弦相似性·汉明距离·二进制编码·数值向量
Patrick在香港2 小时前
Python依赖管理从踩坑到选型:pip/poetry/uv四种方案全面实测
开发语言·python·数据分析·scikit-learn·ai编程·pip·uv