全国高职专业点数据爬虫的设计与实现
2021-07-31邓子云
邓子云
(长沙商贸旅游职业技术学院 湘商学院,湖南 长沙 410116)
为能用大数据技术分析全国高等职业教育(以下简称“高职”)专业点布局的规律与存在的问题,需要先获得全国高职专业点的设置数据。在全国职业院校专业设置管理与公共信息服务平台(http://zyyxzy.moe.edu.cn)中,已经收集了全国高职专业点设置的数据和专业名录,该平台中的数据面向互联网公开。因此,可以设计出一种爬虫来爬取这些数据。
一、爬虫的架构设计
爬虫的架构设计包括功能架构和技术架构两个部分[1]。目前关于爬虫的设计已有成熟稳定的框架系统,因此没有必要再从技术底层开始全面开发爬虫[2]。可供选择的爬虫框架系统有基于Java语言的Crawler4j[3]、基于Python语言的Scrapy[4]。考虑到后续作大数据处理仍然采用Python语言,且Python语言开发简便、快捷,因此选用Scrapy作为爬虫开发的框架[5]。
(一)功能架构
从功能需求出发,结合Scrapy框架,应当实现如图1所示的功能:1.需要爬取专业设置点的数据;2.需要爬取专业名录数据;3.需要对爬行过程中的异常作出处理;4.为应对反爬虫系统需要作爬虫伪装;5.将爬取的数据存储到数据库中;6.设计并实现高职专业数据库系统。

图1 爬虫的功能架构
(二)技术架构
爬虫在爬取网站(http://zyyxzy.moe.edu.cn)的页面数据后,用XPath表达式[6]从网页中提取到专业点和专业名录数据,填充到数据项SpecialitiesItem和数据项SpecialitiyDictItem中,这两个数据项分别表示专业点和专业名录。再通过项目管道SpecialityDataPipeline将数据项中的数据存储到数据库的表中。
从技术架构来看,Scrapy核心引擎、调度器、下载器、爬虫的爬行功能在技术上不需要再行开发[7],利用Scrapy框架中已有的功能模块即可。……
