Skip to content

About

一个易查分爬虫

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

25 Commits

Folders and files

Repository files navigation

yichafen_tools

一个用于抓取易查分网页数据并保存到本地 Excel 的工具。

Note

本软件仅供学习交流使用

📌 主要功能

✨ 便捷高效的数据爬取工具

  • 🖥️ 图形化界面 - 无需命令行,点击即用
  • ⚙️ 灵活配置 - 通过友好的设置向导完成配置
  • 📊 批量查询 - 支持大批量学生数据查询
  • ⚡ 多线程爬取 - 可调节线程数,加快爬取速度
  • 💾 自动保存 - 查询结果自动保存到Excel

⚙️ 如何使用

Tip

💡 推荐使用图形化设置界面! 无需手动编辑配置文件,程序提供友好的设置向导。

🚀 快速开始(三步完成配置)

第一步:准备 Excel 用户数据文件

  • 创建一个 Excel 文件(.xlsx 格式),包含学生信息
  • 第一行必须是表头,包含字段名(如:姓名、学号、班级等)
  • 从第二行开始填写实际的学生数据
  • 点击查看示例表格

第二步:运行程序

# 已提供打包好的可执行文件,无需安装 Python 或依赖
# Windows: 在项目根目录双击可执行文件,或在终端运行:
yichafen_tools.exe

第三步:设置配置信息 程序首次运行或配置不完整时,会自动打开 ⚙️ 程序设置 窗口:

  • 输入 Base URL(从易查分主页网址获取)
  • 选择 Excel 用户数据文件
  • 可选:调整爬取线程数
  • 点击 💾 保存设置 即可

✅ 配置完成!后续可直接点击 ⚙️ 设置 按钮随时修改配置。


1️⃣ 配置文件说明 (config.json)

程序会自动生成 config.json 文件。您也可以通过以下方式了解配置参数:

参数 必填 说明
base_url ✅ 易查分网站的基本URL(不含https://)
usersDB_path(excel) ✅ 用户数据库Excel文件路径
num_threads ❌ 并发线程数,默认为4,建议范围:4-8

config.json 示例:

{
    "base_url": "abc123.yichafen.com",
    "usersDB_path(excel)": "./data/students.xlsx",
    "num_threads": 4
}

2️⃣ Base URL 配置

如何获取 Base URL?

  1. 在浏览器中打开易查分网站
  2. 查看地址栏,例如:https://abc123.yichafen.com/...
  3. 复制域名部分:abc123.yichafen.com
  4. 在设置中输入该域名(不需要 https:// 前缀)

✅ 正确格式: abc123.yichafen.com
❌ 错误格式: https://abc123.yichafen.com 或 https://abc123.yichafen.com/


3️⃣ Excel 表格格式要求

usersDB_path(excel) 指定的Excel文件需要满足以下格式要求:

表格结构
  • 第一行(表头):必须包含列名,列名需要与查询页面的字段名匹配
  • 第二行及以后:实际的用户数据
列名匹配规则

程序会自动读取Excel中与查询页面所需字段匹配的列。列名不区分大小写,支持模糊匹配。

例如:

  • 查询页面需要 "姓名" → Excel表头可以是 "姓名"、"学生姓名"、"名字" 等
  • 查询页面需要 "学号" → Excel表头可以是 "学号"、"学生学号"、"ID" 等
示例表格
姓名 学号 班级
张三 2024001 一年级一班
李四 2024002 一年级一班
王五 2024003 一年级二班

Important

配置注意事项:

  • ✅ Excel文件必须存在且路径正确
  • ✅ 至少需要包含查询页面所需的一个字段列
  • ✅ 仅支持 .xlsx 格式
  • ✅ 表头名称需要与查询页面字段相关(支持模糊匹配)
  • ❌ 不支持 .xls 或其他格式

4️⃣ 运行程序

配置完成后,直接运行程序(已打包为可执行文件,无需手动安装依赖):

# Windows: 双击或在终端运行可执行文件
yichafen_tools.exe

程序会按以下流程执行:

  1. 读取配置 - 加载 config.json 文件

    • 如果配置不完整,自动打开设置窗口
  2. 加载用户数据库 - 读取Excel文件中的用户数据

    • 自动匹配表头字段
  3. 显示查询选择窗口 - 列出所有可用的查询界面

    • 选择要爬取的考试/评比名称
    • 可在此窗口点击 ⚙️ 设置 修改配置
  4. 选择保存路径 - 指定结果保存位置

    • 默认建议与Excel文件同目录
  5. 开始爬取 - 并发获取查询结果

    • 显示进度条
    • 完成后显示成功/失败数量

5️⃣ 爬取线程数设置

线程数影响爬取速度:

  • 线程数越多:爬取速度越快,但服务器可能会限制请求
  • 建议值:4-8
  • 最大值:16(超出可能被限制)

调整方式:

  1. 通过 GUI 设置界面修改(推荐)
  2. 或直接编辑 config.json:修改 num_threads 值

📋 完整配置流程演示

程序启动
    ↓
[检查配置] → 配置完整? → 显示查询选择窗口
    ↓                          ↓
 配置不完整           (用户选择查询对象)
    ↓                          ↓
[打开设置窗口]         [选择保存路径]
    ↓                          ↓
1. 输入Base URL        [开始爬取数据]
2. 选择Excel文件           ↓
3. 设置线程数        [保存结果到Excel]
    ↓                          ↓
[保存配置]               [完成!]
    ↓
[重新显示查询窗口]

❓ 常见问题 (FAQ)

Q1: 第一次运行程序,如何配置?

A: 程序首次运行会自动打开设置向导:

  1. 程序检测到配置不完整时,自动打开 ⚙️ 程序设置 窗口
  2. 按照窗口提示填写三项信息:
    • Base URL:从浏览器地址栏复制易查分域名
    • Excel文件:点击"📁 选择文件"选择用户数据表
    • 线程数:默认为4,可按需调整
  3. 点击 💾 保存设置,配置完成!

Q2: Base URL 应该如何填写?我的浏览器地址栏显示的是什么?

A:

  • 打开浏览器,访问易查分网站
  • 地址栏显示:https://abc123.yichafen.com/xxx/xxx
  • 只需复制:abc123.yichafen.com
  • 不需要包含 https:// 和后面的路径

❌ 常见错误:https://abc123.yichafen.com/(包含了https://和尾部斜杠)

Q3: Excel 文件的表头名称必须完全匹配吗?

A: 不需要完全匹配! 程序支持模糊匹配:

  • 查询页面需要"姓名" → 你的Excel可以是"姓名"、"学生姓名"、"名字"等
  • 查询页面需要"学号" → 你的Excel可以是"学号"、"学生学号"、"ID"等
  • 列名不区分大小写("NAME" 和 "name" 视为相同)

Q4: 程序提示"文件不存在",怎么办?

A:

  1. 确认Excel文件路径正确,文件确实存在
  2. 检查路径中是否有空格或特殊字符
  3. 确保使用的是 .xlsx 格式,不是 .xls
  4. 建议使用 📁 选择文件 按钮浏览选择,而不是手动输入路径

Q5: 为什么爬取速度很慢?

A:

  1. 增加线程数:在设置中将线程数从4改为6-8
  2. 检查网络:确保网络连接正常
  3. 查看服务器:易查分服务器可能做了速率限制,建议:
    • 减少线程数试试
    • 等待一段时间后重试
    • 分次爬取,而不是一次性大量查询

Q6: 爬取过程中出错,提示"全部任务均失败",怎么办?

A: 可能原因及解决方法:

  1. Base URL 错误

    • 检查是否正确复制了域名
    • 确保域名格式正确(不含https://)
  2. Excel表头不匹配

    • 查看易查分查询页面需要哪些字段
    • 确保Excel表头包含相应的列名
  3. Excel文件被占用

    • 关闭所有打开的Excel文件
    • 重新运行程序
  4. 网络连接问题

    • 检查是否能正常访问易查分网站
    • 尝试切换网络或等待后重试

Q7: 可以修改已保存的配置吗?

A: 是的! 有两种方法:

方法1:通过GUI(推荐)

  1. 运行程序:双击 yichafen_tools.exe,或在终端中运行 yichafen_tools.exe(已打包,无需安装 Python 或依赖)
  2. 在查询选择窗口点击 ⚙️ 设置 按钮
  3. 修改配置后点击 💾 保存设置

方法2:直接编辑配置文件

  1. 用文本编辑器打开项目根目录的 config.json
  2. 修改相应参数
  3. 保存文件

Q8: 爬取结果会覆盖之前的数据吗?

A: 不会! 程序的保存机制:

  • 如果指定的Excel文件不存在,会新建文件
  • 如果文件已存在,新查询结果会追加到现有数据后面
  • 表头会自动扩展,不会丢失之前的数据

Q9: 支持哪些Excel格式?

A:

  • ✅ 支持:.xlsx 格式
  • ❌ 不支持:.xls 格式、.csv 等其他格式
  • 建议使用 Microsoft Excel 2007 或更新版本保存的 .xlsx 文件

Q10: 程序需要什么依赖环境?

A: 需要以下依赖包:

pip install -r requirements.txt

主要依赖:

  • requests - 网络请求
  • beautifulsoup4 - 网页解析
  • openpyxl - Excel操作
  • PySide6 - 图形化界面
  • tqdm - 进度显示

🛠️ 故障排除

问题:数据匹配失败

解决方法:

  1. 对比Excel表头与易查分查询页面的字段名
  2. 确保表头位于第一行
  3. 确保数据从第二行开始
  4. 尝试调整列名(程序支持模糊匹配)

问题:文件保存失败

解决方法:

  • 关闭所有打开的Excel文件
  • 检查保存路径是否可写(权限问题)
  • 尝试保存到不同的目录

💬 获取帮助

如有问题,请:

  1. 检查本文档的 FAQ 和故障排除部分
  2. 确保按照 快速开始 的步骤正确配置
  3. 查看程序窗口中的错误提示信息

About

一个易查分爬虫

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages