该设计要求学生以特定领域的主题的信息检索为研究对象,在分析研究网络爬虫原理和核心技术的基础上,设计一套面向特定主题的网络爬虫系统,有效解决使用通用搜索引擎所产生的信息收录不完全及索引更新不及时而导致的信息检索不准确的问题。
此外,学生通过该题目的设计过程,可以初步掌握软件系统的开发原理和开发方法,得到软件工程的训练,提高分析问题与解决实际问题的能力。
二. 设计任务及要求
根据题目设计目的,查阅相关资料,熟悉题目涉及的相关研究现状,分析需要解决的问题,明确设计任务,理清设计思路。设计必须满足以下要求:
(1) 整个系统由爬取目标的确定和HTTP请求分析子系统,页面获取子系统、页面数据解析子系统、数据储存与检索子系统等组成;
(2) 系统必须实现根据网上信息检索的特点,提出合理的防止爬虫被禁止的方案;
(3) 系统必须完成宽度优先和深度优先搜索策略两种不同爬取策略的对比分析,并得出合理的结论;
(4) 系统要求能够说明爬虫所用的网络信息排名计算策略和中英文信息的的分词依据;
(5) 该系统的开发工具不限,建议实用目前流行的数据分析工具Python,
也可以采用C或Java等;
(6) 系统要求采用实际数据分析爬虫的性能,可以采用查准率( Precision ratio)或查全率(Recall ),也可实用 ROC 曲线。
三. 各阶段时间安排(共 13 周)
设计内容 起止周
搜集参考资料,分析题目要求。 第 1 周
教师指导学生学习进行需求分析。 第 2 周
学生提出系统总体设计方案和详细设计方案。 第 3 周~第 4 周
功能实现(软件编程)。 第 5 周~第 8 周
软件调试。 第 9 周
撰写、修改毕业论文 第 10 周~第 12 周
准备答辩资料 第 13 周
四. 毕业设计的主要参考文献
[1] Xia H, Baoguo LI, Management SO, University WT. Crawler Algorithms of Dynamic Web Reviews Based on Python[J]. Software Engineering, 2016.
[2] Shi Z, Shi M, Lin W. The Implementation of Crawling News Page Based on Incremental Web Crawler[C]. ACIT-CSII-BCD,2016
[3] 于娟,刘强.主题网络爬虫研究综述[J].计算机工程与科学,2015(02):36-39
[4] 潘巧智,张磊.浅谈大数据环境下基于 python 的网络爬虫技术[J].网络安全技术与应用,2018(5):41-42.
[5] 刘洋.基于网页浏览行为的反爬虫研究[J].现代计算机:专业版,2019(7):58-60
[6] 韩贝,马明栋,王得玉.基于Scrapy 框架的爬虫和反爬虫研究[J].计算机技术与发展,2019(2): 139-142.
[7] 赵建华,蒋劲松.基于聚焦爬虫的搜索引擎的设计与实现[J].系统仿真技术, 2018, 14(3):221-226.
[8] 王美芝,支学超,刘财辉.基于 Python 的多线程聚焦网络爬虫设计与实现[J].赣南师范学院学报,2019,40(6):35-38.
[9] 杨君,陈春玲,余瀚.基于Scrapy 技术的数据采集系统的设计与实现[J].计算机技术与发展, 2018,28(10):177-181.
[10] Rhisiart A A , Vollrath F. Design features of the orb web of the spider, Araneus diadematus[J]. Behavioral Ecology, 2017, 5(3):280-287.
附录:提交的成果
1. 毕业设计说明书一份,内容包括:
1) 中、英文摘要 200 字;关键词 3-5 个;
2) 序言;
3) 系统分析(包含需要的系统流程图、数据流程图、数据字典);
4) 系统总体设计(包含总体软件结构图、总体数据结构);
5) 详细设计;
6) 系统测试(包含测试方案、测试用例、测试结果及软件可靠性分析);
7) 软件使用说明书(核心界面说明);
8) 设计总结、参考文献、致谢等。
2. 完成 10000-30000 个印刷符号的外文文献翻译稿一篇。
3. 完成毕业设计简介一份,要求 4 页,科技论文格式。
4. 刻制光盘一张。