焦点期刊
在线客服

著作编辑 著作编辑

咨询邮箱:568476783@qq.com

计算机论文

Scrapy框架编写的爬虫程序

时间:2023-03-22 23:19 所属分类:计算机论文 点击次数:

软件人才需求分析系统是基于Scrapy框架编写的python语言。该系统有四个模块,即数据爬虫模块、数据存储模块、数据预处理模块和数据分析模块。
1.爬虫设计
Scrapy是一个开源爬虫框架,它是为爬网站数据、提取结构性数据而编写的应用框架。它为用户实现了必要的基本功能,用户可以根据自己的需要快速开发框架,实现具体的应用需求。框架由发动机、调度器、下载器、Spiders、ItemPipelines、由下载器中间件和Spider中间件组成,每个组件都有不同的分工和功能。ScrapyEngine:引擎是框架的核心,负责控制系统所有组件中数据流的流动,并在相应的动作发生时触发事件。Scheduler:调度器的主要功能是存储要爬的网站,并确定这些网站的下载优先级。Downloader:下载器是下载网络中要爬行的页面资源,然后将这些数据传输给引擎,然后将引擎传输给相应的爬行器进行处理。Spiders:爬取器是用户编写的URL类别,用于分析Response,提取Item或额外跟进。每个爬取器负责处理一个特定的网站,用户可以根据自己的实际需要添加特定的爬取器。知名招聘网站主要针对6个技术领域(Java、PHP、Python、HTML5、web前端、运维工程师)采集数据。数据包括公司名称、公司行业、公司规模、学历要求、工作经验、职位描述、薪资等。为了收集这些数据,首先要分析目标网站的网页层次结构和页面地址的命名规律,以便连续爬取多个页面的数据;然后分析网页源代码,定制爬行规则,使用Xpath或BeautifulSoup准确定位网页源代码中的数据元素;最后,从调度器中取出每个URL,交给引擎爬行所需的数据。
2.数据存储使用
Scrapy框架编写的爬虫程序从招聘网站收集的数据大多是非结构性数据。Scrapy以字典的形式返回分析结果,但python中的字典缺乏结构,不方便在爬虫系统中使用。可以使用Scrapy.Item类,Item提供了类似字典的API,可以声明字段并保存结构化数据。爬行数据通过Item文件格式化后,保存在MySQL数据库中。
3.数据预处理
数据清洗是数据预处理的第一步,也是提高数据质量的有效途径。数据清洗的主要任务是提高数据的可用性,去除噪声、无关数据和空值。数据清洗的基本规则:一是去除关键数据中的缺失值;二是用平均值替换一个范围内的数据,如1-3年的工作经验,用浮点2.0替换;三是工资转换为浮点;第四,用jieba库对“岗位描述”进行分词,取出Python等专业技术关键词、Redis、MongoDB等。将数据保存到Pandas库的DataFrame中,并按照清洗规则清洗数据。将清洗后的数据逐一取出并构建多个列表,如公司列表、职位描述列表、薪资列表、工作经验列表、招聘人数列表等。然后,通过定位或包含字段或正则表达式,可以通过定位或包含每个列表来计算所需的关键数据。
4.数据分析
将不同招聘网站的数据处理,转换成统一格式后,可以使用Spark、Mapreduce等框架对数据进行统计分析。ApacheSpark是一个适合大规模数据处理和快速通用的计算引擎。它是一个基于内存分布数据集的开源集群计算环境,不仅提供交互式查询,而且优化迭代工作负载。Mapreduce是大数据并行处理的计算模型。本系统分析统计数据包括公司名单数据、职位描述名单数据、工资名单数据、工作经验名单数据、招聘人员名单数据等。核心是分析岗位描述列表数据,包括专业技术要求、岗位职责、学历、招聘人数、工作地点等。通过数据分析,我们可以了解当前市场需要哪些热点技术、需求量、区域分布、薪酬水平、工作经验、公司规模和行业。这些数据将为专业人才培养方案的设计提供有力的数据支持。