目录

数据爬取与清洗大作业

数据科学与大数据课程(大二下)课程作业:爬取 Database 领域论文数据,完成多源清洗合并,并构建作者合作网络图谱。

任务背景

(依据本人实验报告整理)作业包含两个实验:

  • 实验一 数据爬取与数据清理:用浏览器自动化爬虫从国防科大图书馆(超星发现)与 Web of Science 两个数据源爬取 “Database” 主题的 500 篇以上论文关键信息(题名、作者、作者单位、摘要、刊名、年),再对多源数据做格式标准化、去重、缺失值处理与字段重组,最终重整为作者合著边列表。作者把这套”模拟真人操作、降低封号风险”的爬取思路命名为 EVANGELION 方法(Efficient eValuation And Non-invasive Gathering of ELigible Information from Online Networks)。
  • 实验二 数据可视化:剔除边列表中的无效作者后导入 Gephi,采用 Fruchterman Reingold 布局、按节点度排名染色与调整大小,得到约 6000 节点、40000 余条边的研究人员合作网络,并做社区发现与核心研究群体分析。

实际数据产出:校图书馆 650 条 + WOS 1000 条,合并去重(标题规范化比对)后得 1585 条有效记录。

内容结构

路径 说明
2025_Cource_assistant/Crouse_assistant.py 主爬虫:DrissionPage 登录校图书馆 SSO,在超星发现检索论文,翻页解析详情页(题名/关键词/作者及单位/期刊),经 DataRecorder 写入 Lib.csv;含多标签页多线程框架
2025_Cource_assistant/douban_pic.py 豆瓣图书标签页封面图片批量下载小工具
2025_Cource_assistant/main.py、test.py PyCharm 生成的入口 stub;浏览器路径配置(本机无 Chrome 时回退指定浏览器)
2025_Cource_assistant/Lib.csv、failed_data.txt 记录器输出文件;爬取失败条目的暂存记录
EVANGELION/The_Only.py 第二个子项目全流程主程序:校图书馆逐页导出 Excel、WOS 导出、两路数据清洗(data_clean_NUDT / data_clean_WOS)、按标题去重合并(data_merge)、作者拆列并生成合著边表(data_transform)、剔除空值边(data_purify)
EVANGELION/requirments.txt pip freeze 依赖清单(原 UTF-16 已转 UTF-8)
EVANGELION/图.gephi Gephi 0.10 工程文件:作者合作网络可视化结果(约 530KB)

运行方法

  • 依赖:Python 3.x,核心包 DrissionPage、DataRecorder、pandas、openpyxl(完整清单见 EVANGELION/requirments.txt,pip install -r 即可)。
  • 需本机装有 Chromium 内核浏览器;首次运行前先执行 test.py 校验浏览器路径。
  • 课程助手爬虫:python 2025_Cource_assistant/Crouse_assistant.py(需在校园网环境登录图书馆,账号自行填写)。
  • 全流程:python EVANGELION/The_Only.py(登录凭据已脱敏置空,运行前在 PaperExporter.login 中自行填写;下载目录默认 D:\Downloads,清洗阶段需在脚本目录放置 excel/export_*.xls 与 wos.xls)。
  • 可视化:用 Gephi 0.10+ 打开 EVANGELION/图.gephi。

来源声明

  • 课程模板(未收录):源目录中时间戳为 2024-04-04 的 maoyan_movie_table.py、multi-tab.py、sign_up.py 经内容比对为 DrissionPage 官方教程示例代码(猫眼榜单抓取、gitee 多标签页采集、gitee 登录),非本人业务代码,故不入库;模板脚本运行产物 data.csv(猫影榜单数据)一并未收录。
  • 未入库数据:Data.zip(爬取与清洗的全量中间数据,xls/csv 约 4.8MB)、code.zip(同目录代码旧快照)、.idea/、实验报告 docx 与任务书 pdf 按入库原则排除。无单文件超过 20MB 的入库文件。
  • 自研范围:2025_Cource_assistant 的图书馆检索解析流程与 EVANGELION/The_Only.py 的导出、清洗、合并、边表生成逻辑为本人编写;部分翻页等待、定位器写法参考了 DrissionPage 官方文档与课程示例。
  • 整理入库时已脱敏:The_Only.py 中误含的他人共享账号密码已置空,douban_pic.py 中的本机绝对路径已改为相对路径。
关于

数据科学课程爬虫大作业:课程助手爬虫(DrissionPage)与 EVA 关系图谱(Gephi 可视化)

441.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号