Skip to content

YBloom/XJTLU-Mentor-Spider

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XJTLU Mentor Data Crawler & Analyzer

🧠 XJTLU Mentor Data Crawler & Analyzer

一个用于爬取并分析 西交利物浦大学校外导师信息 的自动化脚本。 该项目仅用于个人学术研究与导师方向分析,不会公开或传播任何敏感信息。


📋 功能概述

  • 分页爬取导师列表:从 GetMentorList 接口自动抓取所有导师数据(默认 778 条)。

  • 自动获取导师详情:使用 AccountID 调用 GetMentorInfo 接口获取详细资料。

  • 数据清洗与脱敏:自动删除身份证、手机号、邮箱、密码等隐私字段。

  • 关键词语义分析:对导师简介进行关键词匹配打分,筛选出关注 “AI / 创意 / 创业孵化” 的导师。

  • 导出结果文件

    • mentors_raw.json:原始接口数据
    • mentors_clean.json / .csv:脱敏后的导师数据
    • top_ai_creative.csv:AI+创意孵化倾向的导师榜单
    • failures.json:未能成功获取详情的导师条目

🧰 项目结构

📦 xjtlu_mentor_crawler
 ┣ 📜 xjtlu_mentors_spider.py     # 主脚本:爬取与分析逻辑
 ┣ 📜 config_sample.py            # 配置模板(无敏感信息)
 ┣ 📜 README.md                   # 项目说明文件
 ┣ 📂 outputs/                    # 输出目录(脚本运行后自动生成)
 ┗ 📜 requirements.txt            # 依赖清单

⚙️ 环境要求

  • Python ≥ 3.8
  • 已登录 careers.xjtlu.edu.cn 的有效账户(仅限学生)
  • 浏览器开发者工具可查看的会话 Cookie 与 XSRF Token

🪄 使用步骤

1️⃣ 克隆仓库

git clone https://github.com/yourname/xjtlu-mentor-crawler.git
cd xjtlu-mentor-crawler

2️⃣ 安装依赖

pip install -r requirements.txt

3️⃣ 配置凭证

在项目根目录下复制一份配置文件模板:

cp config_sample.py config.py

打开 config.py,根据你自己的浏览器信息填写:

  • COOKIES :浏览器登录后的 cookies(只保留 .AspNetCore.* 等必要字段)
  • X_XSRF_TOKEN :在浏览器网络请求头中找到的 x-xsrf-token
  • KEYWORDS :可选,修改为你感兴趣的关键词列表

如何获取 Cookie 与 XSRF(Chrome/Edge)

  1. 登录 打开 https://careers.xjtlu.edu.cn,正常登录你的学生账号。

  2. 打开开发者工具 F12Ctrl+Shift+I(Mac:Cmd+Option+I)→ 切到 Network 面板。

  3. 触发一次接口 在网站内点击能加载导师列表的页面;Network 会出现很多请求。找到类似:

    • MutualSelectionMentorService/GetMentorList(POST)
    • ProfileMentorService/GetMentorInfo?AccountID=...(POST)
  4. 复制请求头中的 x-xsrf-token 点开该请求 → HeadersRequest Headers → 找到 x-xsrf-token,复制其值,填入 config.pyX_XSRF_TOKEN

  5. 复制 Cookie

    在同一请求的 Request Headers 中找到 Cookie: 一整行,复制;填入 config.pyRAW_COOKIES 变量。

  6. 保护隐私

    • 不要config.py 提交到 GitHub(.gitignore 已忽略)。
    • 输出数据默认写入 outputs/,该目录同样被忽略。
    • 不要公开发布 mentors_raw.json 等原始数据文件。

若请求报 401/403:通常是 Cookie 过期或 XSRF 不匹配。重新登录站点,重复上述步骤更新两个值即可。

4️⃣ 运行脚本

python xjtlu_mentors_spider.py

执行后将在当前目录生成:

mentors_raw.json
mentors_clean.json
mentors_clean.csv
top_ai_creative.csv
failures.json

🧠 关键词逻辑

默认关键词(可在脚本 KEYWORDS 中修改):

人工智能, AI, AIGC, 大模型, 创新, 创意, 创业指导,
产品经理, 科技创新, 设计思维, 孵化, 时尚科技, 跨界

脚本对导师简介、自我介绍、技能等文本进行关键词匹配, 每命中一个关键词 +1 分,得分 ≥ 3 的导师会进入 top_ai_creative.csv


🔒 隐私与合规说明

  • 本项目仅用于学生自助分析导师方向;不会上传、发布或分发数据。
  • 所有个人隐私字段(身份证号、手机号、邮箱、密码等)均自动过滤。
  • 请勿公开上传包含原始数据 (mentors_raw.json) 的版本。
  • 若在学校范围内使用,请遵守 XJTLU 数据安全与隐私政策。

📊 后续分析(推荐)

爬取完成后,你可以:

  • 使用 ChatGPT / Pandas / Excel 进行导师画像聚类;
  • 提取 “AI + 创意” 导师名单,生成匹配报告;
  • 在导师互选系统中快速定位你理想的导师。

💡 许可证

本项目使用 MIT License。 请在使用前删除个人凭证与原始数据,确保合规。


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages