一、requests 爬虫模块
1. 安装依赖
pip install requests -i https://mirrors.aliyun.com/pypi/simple/
2. 代码实现
import requests
# 发送 HTTP GET 请求获取图片数据
result = requests.get("https://static-data.gaokao.cn/upload/school/20241126/1732611731_7971_thumb.jpg")
# 获取响应原始字节内容
img = result.content
# 以二进制写入模式打开文件并保存
with open("my_image.png", "wb") as f:
f.write(img)
3. 核心方法说明
- requests.get(): 向指定 URL 发送 HTTP GET 请求,用于获取服务器资源。
- result.content: 获取 Response 对象的原始字节数据,适用于图片、视频等二进制文件。
- open(..., "wb"): 以二进制写入模式创建或打开文件。
- write(): 将内存中的数据写入已打开的文件对象。
注:上述操作可简化为
open("my_image.png", "wb").write(result.content)。
二、保存数据至 Excel
1. 安装依赖
pip install pandas
2. 代码实现
import pandas as pd
# 准备数据列表
data_list = [
{"姓名": "张三", "性别": "男", "年龄": "18", "住址": "深圳市南山区"},
{"姓名": "李四", "性别": "女", "年龄": "20", "住址": "广州市花都区"}
]
# 创建 DataFrame 对象
df = pd.DataFrame(data_list)
# 导出为 Excel 文件,index=False 表示不写入行索引
df.to_excel("data.xlsx", index=False)
3. 核心方法说明
- import pandas: 导入数据分析库。
- pd.DataFrame(): 创建二维表格数据结构,类似电子表格。
- to_excel(): 将 DataFrame 数据导出为 Excel 格式文件。
三、实用案例:API 数据抓取与存储
代码实现
import pandas as pd
import requests
def get_users_from_api():
try:
# 调用公开 API 获取用户数据
response = requests.get('https://jsonplaceholder.typicode.com/users')
users_data = response.json()
processed_data = []
for user in users_data:
user_info = {
"姓名": user.get('name', ''),
"用户名": user.get('username', ''),
"邮箱": user.get('email', ''),
"城市": user.get('address', {}).get('city', ''),
"电话": user.get('phone', ''),
"公司": user.get('company', {}).get('name', '')
}
processed_data.append(user_info)
return processed_data
except Exception as e:
print(f"获取数据失败:{e}")
return []
# 执行抓取并保存
users = get_users_from_api()
if users:
df = pd.DataFrame(users)
df.to_excel("user_data.xlsx", index=False)
print("数据已保存到 Excel 文件!")
else:
print("未能获取到数据")
四、总结
本文详细讲解了使用 requests 模块进行网络爬虫和 pandas 模块进行数据处理的全流程。内容包括基础图片下载、结构化数据存储以及 API 数据获取与 Excel 导出,涵盖了从零开始的学习路径。这些技能在日常开发、数据分析及自动化办公中具有较高的实用价值。


