Python 教程

19.1 网络基础与 requests 库

Python网络基础与requests库入门教程

Python 教程

本教程介绍Python网络基础知识和如何使用requests库进行HTTP请求,涵盖HTTP协议、URL、请求和响应,适合初学者快速上手Python网络编程。

推荐工具
PyCharm专业版开发必备

功能强大的Python IDE,提供智能代码补全、代码分析、调试和测试工具,提高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/

祝您学习愉快!

开发工具推荐
Python开发者工具包

包含虚拟环境管理、代码格式化、依赖管理、测试框架等Python开发全流程工具,提高开发效率。特别适合处理复杂数据结构和算法。

获取工具包