教你用Python+爬虫+数据清洗工具,快速筛选性价比档案培训资源
准备工作:安装3个零门槛工具
1. 安装Python 3.10+稳定版
打开Python官方下载地址:https://www.python.org/downloads/release/python-31013/
Windows用户选择「Windows installer (64-bit)」下载,Mac用户选择「macOS 64-bit universal2 installer」下载。
安装时必须勾选「Add Python 3.10 to PATH」,点击「Install Now」自动完成,安装后打开终端(Windows用cmd,Mac用Terminal)输入以下命令验证:
``` python --version ```如果显示Python 3.10.x(如3.10.13),说明安装成功。
2. 安装爬虫依赖库requests、beautifulsoup4
在终端依次输入并执行以下两条命令:
``` pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple pip install beautifulsoup4 -i https://pypi.tuna.tsinghua.edu.cn/simple ```清华镜像源可大幅提升安装速度,无需配置任何代理。
3. 安装免费数据清洗工具OpenRefine
打开OpenRefine官方下载地址:https://openrefine.org/download.html
Windows用户下载「Windows kit」,Mac用户下载「Mac OS X kit」,解压后直接双击「openrefine.exe」(Windows)或「OpenRefine.app」(Mac)即可运行,无需安装,浏览器会自动跳转到http://127.0.0.1:3333。
实操步骤1:编写Python爬虫脚本采集公开培训信息
这里以B站(学习资源最多的免费/低费平台) 为例采集档案相关培训数据,脚本可直接复制。

注意:公开平台采集需遵守robots.txt规则,B站robots.txt允许采集用户公开上传的非隐私内容,且脚本设置了2秒请求延迟,避免对服务器造成压力。
新建一个记事本文件,命名为「archive_train_crawl.py」,后缀名改为.py,然后将以下完整代码复制进去并保存:
``` import requests from bs4 import BeautifulSoup import time import csv 采集目标:B站搜索「档案培训 课程」结果前50页(免费/付费前会标注,付费金额在页面右上角) base_url = "https://search.bilibili.com/all?keyword=%E6%A1%A3%E6%A1%88%E5%9F%E8%AE%AD%E8%AE%AD%20%E8%AF%BE%E7%A8%80&from_source=webtop_search&spm_id_from=333.1007&page=" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36" } 创建CSV文件存储数据 with open("archive_train_data.csv", "w", newline="", encoding="utf-8-sig") as f: writer = csv.writer(f) writer.writerow(["课程标题", "UP主名称", "播放量", "弹幕数", "付费/免费", "付费金额(元)", "课程链接"]) 循环采集前50页 for page in range(1, 51): url = base_url + str(page) try: response = requests.get(url, headers=headers, timeout=10) response.raise_for_status() 检测请求是否成功 response.encoding = "utf-8" soup = BeautifulSoup(response.text, "html.parser") 定位所有课程卡片 course_cards = soup.find_all("div", class_="bili-video-card") if not course_cards: print(f"第{page}页无数据,停止采集") break for card in course_cards: 提取课程标题 title_tag = card.find("h3", class_="bili-video-card__info--tit") title = title_tag.get("title").strip() if title_tag else "无标题" 提取UP主名称 up_tag = card.find("span", class_="bili-video-card__info--author") up_name = up_tag.text.strip() if up_tag else "无UP主" 提取播放量 play_tag = card.find("span", class_="bili-video-card__stats--item").find("span") play_num = play_tag.text.strip() if play_tag else "0" 提取弹幕数 danmu_tags = card.find_all("span", class_="bili-video-card__stats--item") danmu_num = danmu_tags[1].find("span").text.strip() if len(danmu_tags)>=2 else "0" 提取付费/免费状态及金额 price_tag = card.find("span", class_="bili-video-card__info--price") is_paid = "付费" if price_tag else "免费" price = price_tag.text.strip().replace("¥", "") if price_tag else "0" 提取课程链接 link_tag = card.find("a", class_="bili-video-card__wrap pic") link = "https:" + link_tag.get("href").strip() if link_tag else "无链接" 写入CSV writer.writerow([title, up_name, play_num, danmu_num, is_paid, price, link]) print(f"第{page}页采集完成,已采集{pagelen(course_cards)}条数据") time.sleep(2) 2秒请求延迟,合规采集 except Exception as e: print(f"第{page}页采集出错:{e}") continue print("所有数据采集完成,已保存到archive_train_data.csv") ```保存后,在终端进入脚本所在的文件夹(比如脚本放在桌面,Windows终端输入「cd Desktop」,Mac输入「cd ~/Desktop」),然后执行:
``` python archive_train_crawl.py ```等待2-3分钟,桌面会生成「archive_train_data.csv」文件。
实操步骤2:用OpenRefine清洗筛选高性价比资源
1. 导入CSV数据到OpenRefine
打开OpenRefine,点击「Create Project」→「Choose Files」,选择刚才生成的「archive_train_data.csv」→点击「Next」→在预览页面确保编码是「UTF-8」,分隔符是「逗号」→点击「Create Project」。
2. 清洗数据:统一播放量、弹幕数格式为数字
点击「播放量」列的下拉菜单→「Edit column」→「Add column based on this column」→在「Expression」输入框粘贴以下代码(将万、亿转换为纯数字):
``` value.replace("万", "").replace("亿", "").toNumber() (if(value.contains("万"), 10000, if(value.contains("亿"), 100000000, 1))) ```新列命名为「播放量(纯数字)」→点击「OK」。
用同样的方法清洗「弹幕数」列,生成「弹幕数(纯数字)」。
3. 筛选维度设置(按重要性排序)
- 第一步:筛选免费或低费(≤99元):点击「付费金额(元)」列的下拉菜单→「Facet」→「Numeric facet」→在左侧弹出的滑块中,将最大值设为99→点击「Include」。
- 第二步:筛选播放量≥10万:点击「播放量(纯数字)」列的下拉菜单→「Facet」→「Numeric facet」→将最小值设为100000→点击「Include」。
- 第三步:筛选弹幕数≥1000:点击「弹幕数(纯数字)」列的下拉菜单→「Facet」→「Numeric facet」→将最小值设为1000→点击「Include」。
4. 导出筛选结果
筛选完成后,点击右上角「Export」→「Comma-separated value」,导出的CSV文件就是高性价比的档案培训资源列表。
实操步骤3:快速验证资源有效性的小技巧
- 看课程时长:点击导出的CSV里的课程链接,免费课程如果是合集,查看「全部视频」下的总时长,≥10小时为优质;付费课程查看详情页的「课程大纲」和「已更新/总课时」。
- 看评论置顶:查看UP主置顶评论是否有课程目录、学习资料链接(如百度网盘、阿里云盘),是否有学员反馈的有效评价。
- 用B站自带「倍速试看」:试看前10分钟,判断UP主讲解是否专业、逻辑是否清晰、内容是否有实操(比如教你用档案管理系统、填写归档目录)。