【附源码】108 个 Python 实战项目:覆盖爬虫、数据分析,练完能力多面提升
·
Python 实战项目精选(覆盖爬虫、数据分析)
以下是8类精选项目(共108个),每类包含典型项目示例和源码片段。完整项目列表和源码可通过文末方式获取。
一、网络爬虫类(15例)
- 豆瓣电影Top250爬虫
import requests
from bs4 import BeautifulSoup
def crawl_douban():
url = "https://movie.douban.com/top250"
headers = {'User-Agent': 'Mozilla/5.0'}
res = requests.get(url, headers=headers)
soup = BeautifulSoup(res.text, 'html.parser')
for item in soup.find_all('div', class_='hd'):
title = item.a.span.text
print(f"电影:{title}")
- 微博热搜实时抓取
- 知乎问答爬虫
- 天气数据采集
- 链家二手房数据爬取
二、数据分析实战(20例)
- 电商销售分析
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('sales_data.csv')
monthly_sales = df.groupby('month')['amount'].sum()
plt.figure(figsize=(10,6))
monthly_sales.plot(kind='bar')
plt.title('月度销售额趋势')
plt.savefig('sales_trend.png')
- 股票数据可视化
- 疫情数据趋势预测
- 用户行为分析
- 文本情感分析
三、自动化办公(12例)
- Excel报表自动生成
import openpyxl
from openpyxl.styles import Font
def create_report():
wb = openpyxl.Workbook()
sheet = wb.active
sheet['A1'] = "季度业绩报告"
sheet['A1'].font = Font(bold=True)
sheet['B2'] = "Q1"
sheet['C2'] = "Q2"
wb.save('report.xlsx')
- 邮件自动发送
- PDF批量处理
- 文件自动归类
四、Web开发(18例)
- Flask博客系统
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def home():
return render_template('index.html')
@app.route('/about')
def about():
return render_template('about.html')
if __name__ == '__main__':
app.run(debug=True)
- Django电商平台
- API接口开发
- 在线考试系统
五、数据可视化(15例)
- Pyecharts疫情地图
from pyecharts.charts import Map
from pyecharts import options as opts
data = [("北京", 125), ("上海", 89), ("广东", 210)]
map_chart = Map()
map_chart.add("确诊人数", data, "china")
map_chart.set_global_opts(title_opts=opts.TitleOpts(title="全国疫情分布"))
map_chart.render("map.html")
- Matplotlib股票K线
- Seaborn用户画像
- Plotly交互式报表
六、机器学习(15例)
- 鸢尾花分类
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
iris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target)
model = RandomForestClassifier()
model.fit(X_train, y_train)
print(f"准确率: {model.score(X_test, y_test):.2f}")
- 房价预测模型
- 手写数字识别
- 推荐系统开发
七、趣味项目(8例)
- 人脸识别门禁
import cv2
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface.xml')
cap = cv2.VideoCapture(0)
while True:
_, img = cap.read()
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.1, 4)
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
cv2.imshow('Face Detection', img)
if cv2.waitKey(1) == 27:
break
- 语音助手
- 游戏外挂检测
- 二维码生成器
八、效率工具(5例)
- 文件批量重命名
import os
def rename_files(dir_path):
for i, filename in enumerate(os.listdir(dir_path)):
new_name = f"document_{i+1}.txt"
os.rename(os.path.join(dir_path, filename),
os.path.join(dir_path, new_name))
- 自动备份脚本
- 日志分析器
- 网络监控工具
项目获取方式
完整108个项目源码(含数据集和说明文档)可通过以下方式获取:
- 访问GitHub仓库:
github.com/python-projects-108 - 关注公众号「Python实战营」回复「108」
- 加入知识星球「Python全栈开发」获取更新
建议学习路径:爬虫 → 数据分析 → Web开发 → 机器学习 → 项目整合
每个项目包含:
- 需求说明文档
- 完整源码
- 数据集(如需要)
- 扩展挑战任务
更多推荐
所有评论(0)