Spend your time on self-improvement
运行系统:macOS Sonoma 14.6.1
Python编译器:PyCharm 2024.1.4 (Community Edition)
Python版本:3.12
往期链接:
1-5 | 6-10 | 11-20 | 21-30 | 31-40 | 41-50 |
---|
51-60:函数 | 61-70:类 | 71-80:编程范式及设计模式 |
---|
81-90:Python编码规范 | 91-100:Python自带常用模块-1 |
---|
101-105:Python自带模块-2 | 106-110:Python自带模块-3 |
---|
111-115:Python常用第三方包-频繁使用 | 116-120:Python常用第三方包-深度学习 |
---|
本文只介绍每个包主要做什么及一些比较经典的示例。对于包的进一步学习,推荐参考对应包的官方文档。
121 Requests - 简化的 HTTP 请求处理
Requests版本2.32.3,官方文档
Requests 模块是一个用于发送 HTTP 请求的 Python 库,它非常易于使用,可以处理各种类型的网络请求。以下是 Requests 模块的主要功能说明以及相应的示例。
发送 GET 请求
用于获取资源。
import requests
response = requests.get('https://jsonplaceholder.typicode.com/posts')
print("Status Code:", response.status_code)
print("Response Body:", response.json())
发送 POST 请求
用于提交数据到服务器。
import requests
data = {
'title': 'foo',
'body': 'bar',
'userId': 1
}
response = requests.post('https://jsonplaceholder.typicode.com/posts', json=data)
print("Status Code:", response.status_code)
print("Response Body:", response.json())
发送 PUT 请求
用于更新资源。
import requests
data = {
'id': 1,
'title': 'updated title',
'body': 'updated body',
'userId': 1
}
response = requests.put('https://jsonplaceholder.typicode.com/posts/1', json=data)
print("Status Code:", response.status_code)
print("Response Body:", response.json())
发送 DELETE 请求
用于删除资源。
import requests
response = requests.delete('https://jsonplaceholder.typicode.com/posts/1')
print("Status Code:", response.status_code)
会话管理
可以使用会话对象来保持某些参数(如 cookies)在请求之间共享。
import requests
session = requests.Session()
session.auth = ('user', 'pass')
response = session.get('https://httpbin.org/basic-auth/user/pass')
print(response.status_code)
print(response.json())
处理超时
可以设置请求的超时时间。
import requests
try:
response = requests.get('https://jsonplaceholder.typicode.com/posts', timeout=1)
print("Response Body:", response.json())
except requests.exceptions.Timeout:
print("The request timed out.")
文件上传
支持文件上传功能。
import requests
files = {
'file': open('test.txt', 'rb')}
response = requests.post('https://httpbin.org/post', files=files)
print("Upload Response:", response.json())
122 Beautiful Soup - 网页解析和抓取
Beautiful Soup版本4.12.3,官方文档, lxml版本5.3.0, html5lib版本1.1
Beautiful Soup 是一个用于从 HTML 和 XML 文件中提取数据的 Python 库。它提供了 Pythonic 的接口来处理网页抓取和解析,方便用户提取和操作数据。以下是 Beautiful Soup 模块的功能点说明以及对应的示例。
解析 HTML 和 XML 文档
from bs4 import BeautifulSoup
html_doc = """
<html>
<head><title>The Dormouse's story</title></head>
<body>
<p class="title"><b>The Dormouse's story</b></p>
<p class="story">Once upon a time there were three little sisters; and their names were
<a href=