19.1 网络基础与 requests 库
Python网络基础与requests库入门教程
本教程介绍Python网络基础知识和如何使用requests库进行HTTP请求,涵盖HTTP协议、URL、请求和响应,适合初学者快速上手Python网络编程。
推荐工具
Python网络基础与requests库教程
介绍
欢迎学习Python网络基础与requests库教程!本教程专为初学者设计,帮助您理解网络基本概念并掌握使用Python requests库进行HTTP请求的技巧。
网络基础
在进入代码之前,让我们先了解一些网络基础概念。
什么是网络?
网络是计算机之间相互连接的集合,允许它们共享资源和信息。最常见的网络协议是HTTP(超文本传输协议),用于网页浏览。
HTTP基础
- HTTP:全称Hypertext Transfer Protocol,是Web数据交换的标准协议。
- URL:统一资源定位符,例如
https://www.example.com,用于指定网络资源的位置。 - 请求和响应:客户端(如浏览器)发送请求到服务器,服务器返回响应。常见请求方法有GET(获取数据)和POST(发送数据)。
安装requests库
在开始使用requests库之前,需要先安装它。打开终端或命令提示符,运行以下命令:
pip install requests
确保您已安装Python(建议版本3.6或更高)。
使用requests库
requests库是Python中一个简单易用的HTTP库,让发送HTTP请求变得轻而易举。
基本GET请求
让我们从一个简单的GET请求开始,获取一个网页的内容。
import requests
# 发送GET请求到指定URL
response = requests.get('https://jsonplaceholder.typicode.com/posts/1')
# 检查响应状态码(200表示成功)
print("状态码:", response.status_code)
# 获取响应内容(通常为JSON或HTML)
print("响应内容:", response.text)
# 如果响应是JSON,可以直接解析
if response.status_code == 200:
data = response.json() # 解析JSON数据
print("JSON数据:", data)
else:
print("请求失败")
发送POST请求
POST请求用于向服务器发送数据。例如,提交表单或API数据。
import requests
# 定义要发送的数据(通常为字典)
data = {
'title': 'foo',
'body': 'bar',
'userId': 1
}
# 发送POST请求
response = requests.post('https://jsonplaceholder.typicode.com/posts', json=data)
# 检查响应
print("状态码:", response.status_code)
print("响应内容:", response.json())
处理错误和异常
在实际应用中,网络请求可能会失败。使用try-except块处理异常。
import requests
url = 'https://example.com'
try:
response = requests.get(url, timeout=5) # 设置超时时间
response.raise_for_status() # 如果状态码不是200,抛出异常
print("请求成功:", response.text)
except requests.exceptions.RequestException as e:
print(f"请求出错: {e}")
高级用法
requests库还支持更多功能,如:
- 设置请求头:自定义HTTP头部。
- 处理Cookies:管理会话。
- 文件上传:发送文件数据。
示例:设置请求头
import requests
headers = {
'User-Agent': 'MyApp/1.0',
'Accept': 'application/json'
}
response = requests.get('https://api.example.com/data', headers=headers)
print(response.json())
总结
通过本教程,您学习了网络基础知识和如何使用Python requests库发送HTTP请求。requests库简单强大,是网络编程的入门首选。建议多练习,尝试不同的请求类型和参数,以加深理解。
下一步学习
- 探索更多HTTP方法,如PUT、DELETE。
- 学习处理异步请求,使用aiohttp库。
- 阅读官方文档:https://docs.python-requests.org/
祝您学习愉快!
开发工具推荐