admin 管理员组文章数量: 1184232
2024年4月14日发(作者:charat 0)
较件升戎与雇用
信麵与电睡
China Computer & Communication
2021年第1期
网络招聘数据可视化系统的设计与实现
李艳•丁国强张庆
(宁夏师范学院物理与电子信息工程学院,宁夏固原756000)
摘要:由于新冠肺炎疫情的影响,传统的线下招聘变为线上招聘,求职者的就业压力急剧增大。面对各大招聘网
站中的海量信息,如何高效、直观地获取求职者想要的招聘信息是目前研究的热点。本文利用网络爬虫技术获取
Boss
直
聘网的招聘数据,并用
PHP
设计实现相应的数据可视化系统。实验结果表明,该系统具有良好的扩展性能,在任何网络
环境中,均能准确获取数据并显示结果。求职者通过此系统可以全面认识当前行业的招聘现状,对当代大学生的求职就
业具有指导意义。
关键词:网络招聘;网络爬虫;求职者;数据可视化
中图分类号:
TP
319 文献标识码:
A
文章编号:1003-9767 (2021) 01-112-04
Design and Implementation of the Visualization System of Online Recruibnent Data
LI
Yan
*,
DING
Guoqiang
,
ZHANG
Qing
(College
of
Physics
and
Electronic
Information
Engineering
,
Ningxia
Normal
University
,
Guyuan
Ningxia
756000,
China
)
Abstract
:
Due
to
the
impact
of
the
Corona
Virus
Disease
2019
epidemic
,
traditional
offline
recruitment
has
become
online
recruitment
,
and
the
employment
pressure
of
job
seekers
has
increased
sharply
.
Facing
the
massive
amount
of
information
in
major
recruitment
websites
,
how
to
efficiently
and
intuitively
obtain
the
recruitment
information
that
job
seekers
want
is
a
hot
research
topic
.
This
study
uses
web
crawler
technology
to
obtain
recruitment
data
from
Boss
Zhipin
.
com
,
and
designs
and
implements
a
corresponding
data
visualization
system
uses
PHP
.
Experimental
results
show
that
the
system
has
good
scalability
,
and
can
accurately
obtain
data
and
display
the
results
in
any
network
environment
.
Through
this
system
,
job
seekers
can
have
a
comprehensive
understanding
of
the
current
recruitment
status
of
the
industry
,
which
has
significant
guiding
significance
for
contemporary
college
students
^
job
search
and
employment
.
Keywords
:
online
recruitment
;
web
crawler
;
job
seeker
;
data
visualization
〇引言
随着互联网技术的迅猛发展以及网络招聘的兴起,各大
招聘网站应运而生。艾瑞统计数据显示,2020年受新冠疫
情的影响,整个市场营收规模的增速不到10%,但由于大学
生就业主要依靠网络招聘,网络招聘市场规模仍处于扩大趋
势[1]。面对各大招聘网站极为丰富的招聘信息,求职者如何
快速、高效地从海量的招聘信息中找到有价值的信息成为当
前研究的热点[2]。要在海量数据中挖掘有价值的数据,首先
要做的是获取数据,而利用网络爬虫技术可以快速、方便地
获取互联网上的大数据[34]。
PHP
是一种创建动态网页的服
务器端脚本语言,能连接各种数据库,应用非常广泛,可以
将信息直观、明了地展现给用户[5]。
本文基于网络爬虫技术获取
Boss
直聘网数据,并设计
实现了相应的数据可视化系统。该系统使用
Python
语言爬
取直聘网的招聘信息,并使用
Python
的
Beautiful
Soup
、
Pandas
、
Matplotlib
等第三方库对爬取的招聘数据进行处理分
析,最后利用
PHP
将数据及分析的结果通过客户端的形式直
观、明了地展示给用户。
1网络爬虫实现原理
1.1网络爬虫技术
由于互联网中含有海量的信息,可以将其表示为一个
基金资助:宁夏师范学院科学研宄项目资助(项目编号:
NXSFYB
2010)。
作者简介:李艳(1991 一),女,宁夏固原人,硕士研宄生(通信作者),助教。研宄方向:信息处理与通信技术。
E
-
:
lclmyx
@163.
cora
〇
112
n
2021年第1期
与电雇
China Computer & Communication
我件开戌与裘用
巨型蜘蛛网,在各个节点中都含有相关的信息,爬虫的过程
其实就是获取各个节点信息的过程,直到获取自身需要的信
焓息表观层
息_。在爬取的过程中,首先需要了解要访问的网站结构,
用户登录界面
信息奪询
.
信息显示
然后获取目标点的
Html
源码,并解析出其中的信息,最后
解析完成后保存获取的信息。爬虫的基本流程如图1所示。
功能实现层
〔互联网
!
DNSH
¥
Wj
~~►(读取
URL
|~网页下载
冋页数据库
执行层
Html
文件
链接俭测
蜘蛛引擎
信息采集
:种子
URLh
~*待爬取
URL
队列
b
袖取
【
URL
.
已抓取
URL
队列
资源层
图1爬虫的基本流程
亂文件
1.2网络爬虫框架
Scrapy
固3系统框架
Scrapy
是一个常用的爬虫框架,主要基于
Python
语言
2.2系统运行流程
实现,能够髙效地爬取
Web
站点中的结构化信息,目前已
系统运行流程如图4所示。具体运行过程分以下5步:
经广泛应用于数据分析等领域。
Scrapy
总体划分为调度器
①读取网页的
URL
地址;②蜘蛛引擎启动,向每个
URL
地
(
址发送访问请求,检测链接的可用性;③接收
HTTP
的响应
Scrapy
Scheduler
)、爬虫(
Spider
)、实体管道
(Item
Pipeline
)、
引擎
(Scrapy
Engine
)以及下载器(
Downloader
),
信息;④网页解析,通过
BeautifiilSoup
将不同网页格式中的
具体如图2所示。其中,
Spider
类主要与页面处理有关,
信息准确提取出来并保存,对异常情况进行处理;⑤将提取
Item
Pipeline
组件贝(
I
能够清除
Html
数据0
的有用信息通过
Matplotlib
库实现可视化;⑥用户登录客户
端,对信息进行査询。
________________-士--------------
开始
URL
-
配置文丨牛* 读取
链接检测
m
返回值判定
^ -..
+伏态码:200
厂一0
K
蹋2
Scrapy
整体架构
蝴蛛’¥擎|
系统设计与实现
数据解处理
I
数据可视化
2.1
系统总体架构
^~
T
一好*显示
该系统包括数据获取和数据显示两部分功能。首先根据
需求发起相应的请求,即发送含有请求头、请求体等信息的
结束
Request
;然后接收服务器端的响应
Response
,并对其中的信
图4系统流程图
息执行解析操作,包括文本、图片以及视频等类型的信息;
2.3系统实现
接着将解析的数据保存到数据库中;最后利用
Matplotlib
库
Boss
直聘网是国内知名的招聘网站之一,求职者可以在
实现数据的可视化展示,并以客户端的形式进行呈现。
此网站中寻找想要的岗位信息。本文针对
Boss
直聘网设计
系统采用四层架构设计,具体分为资源层、执行层、功
并实现了一款招聘信息获取及可视化系统。数据爬取的流程
能实现层和信息表现层。具体框架如图3所示。
如下。
113
苣■与电薦
狭件升戎与雇用
China Computer & Communication
2021
年第
1
期
2.3.1 利用
requests
库中的
request
( ‘
eaders
GET
’,
URL
,
headers=h
PHP
实现。
PHP
支持与各种类型的数据库连接。该系统获取
).
json
()获得
response
对象
的职位信息存在
MySQL
数据库中,
PHP
连接
MySQL
数据库,
某些请求若不是浏览器发出的,则无法获取相应的信息,
实现
PHP
动态网页显示
MySQL
数据库中的信息。该系统中
此时需要使用代理进行浏览器伪装,即在传递
URL
的同时,
的可视化展示模块主要有数据管理、数据信息和结果分析。
传递一个特定的
headers
头。
P
HP
连接
MySQL
的代码如下:
主要代码如下:
url
= *
https
://
www
.
zhipin
.
com
/{
shi
_
id
}/'
$link
if
=
mysql
coimect
( "
localhost
", "
root
", "123456");
Mac
headers
OS
= { '
User
-
Agent
': "
Mozilla
/5.0 (
Macintosh
;
Intel
X
10一13—5)
echo
($
link
)
else
11连接服务器成功!、
response
}
=
requests
.
get
(
start
_
url
,
headers
=
headers
)
echo
"连接服务器失败!%
2.3.2将
response
对象返回的数据分页进行爬取
mysql
一
close
(
$link
);
Response
>
对象中每页最多15条招聘信息,利用
page
for
循环
可获取多页信息。定义
get
_
data
(,
tag
)函数,在该函数传
3系统测试
递的参数中
,page
为
requests
.
get
(
start
_
url
,
headers
=
headers
)
本文利用开源网络爬虫框架
Scrapy
对
Boss
直聘中的“数
返回的
reponse
对象,
tag
表示从
json
页面中获取的
key
名
据分析师”一职的相关数据进行获取、分析及显示,并基于
称。即
tag
=[ ‘
positionID
’,‘
CompanyName
’,‘
city
’,
网络爬虫技术对直聘网中的“数据分析师”职位从城市分布、
<
positionName
, , <
workYear
, , *
salaryJ
, *
education
',
薪资情况及学历情况进行分析,并以柱状图的形式展示,如
‘
publishDate
’ ],分别对应
tag
_
name
=[‘职位
ID
’,‘公司
图5、图6、图7所示。同时,用
PHP
实现
Web
登录及査询
界面,以方便求职者使用,如图8、图9、图10所示。
名称‘工作城市,,‘职位名称’,‘工作经验,,‘薪资‘学
历’,‘发布日期方便后续查看。
2.3.3数据解析
得到
response
返回的信息以后,需要用
BeautifUlSoup
Python
中的
模块对数据进行解析。本文通过
BeautifUlSoup
(
response
.
text
,‘
lxml
,)解析结果信息。
2.3.4解析后的数据保存在
MySQL
数据库中
主要代码如下:
HOST
classMysqlClient
(
object
):
PASSWD
MYSQL
def
_
init
(
self
,
host
=
MYSQL
_
,
port
=_
PORT
,
user
=
MYSQL
_
USER
,
passwd
=
MYSQL
_
,
db
=
MYSQL
_
DB
,
chareet
=
MYSQL
passwd
selfconnect
_
CHARSET
):
.
client
=
pymysql
.(
host
=
host
,
port
=
port
,
user=user
,
=
passwd
,
db
=
db
,
charset
=
charset
)
def
=
self
.
clieat
.
cursor
〇
save
(
self
,
sql
):
2.3.5数据可视化
由于数据可视化前需要对数据进行清洗,将重复的
数
Matplotlib
据进行清理,所以引入
pandas
框架,利用;
Python
中的
库实现数据的可视化,并以城市分布情况、薪资
分布情况、学历分布情况为例画出它们的柱状图。
主要代码如下:
import
import
as
pit
pandas
as
pd
plt
.
bai
^
raDge
(
len
(
nuin
_
list
)),
numjist
,
tick
_
label
=
rQame
_
list
)
2.3.6数据可视化展示模块
可视化展示模块是系统最终实现的功能模块,主要通过
图6薪资分布图
114
n
2021年第1期
与电雇
China Computer & Communication
我件开戌与裘用
由图5可以看出,全国各大城市的需求童都比较大,但
天津的需求量最大。从图6可以看出,数据分析师一职的薪
资在一些大城市都比较高,而且北京的最高,每月在17 500
元左右。对于求职者来说,一些发展比较好的二线城市也是
不错的选择。从图7可得,数据分析师一职的学历要求大多
数是本科。这说明本科生以及一些优秀的大专生就可以胜任
该职位,这对于求职者有很重要的参考价值。除此之外,系
统中还包括工作经验的分布图、公司规模的分布图等,在此
没有一一列举。
图8、图9、图10是数据可视化展示的效果图,首先用
户可以通过图8所示的客户端进行注册,然后进人图9所示
的主界面,可以看到主界面有数据管理、数据信息、结果分析、
^
*±
=}
数据査询4个功能模块。数据管理模块可以増加、删除数据,
S
7
■学历分布图
数据信息模块可以展示爬取的数据信息,结果分析模块可以
展示数据可视化的结果。图10是搜索栏中输人“数据分析师”
后的査询结果。由此可见,该系统可以直观、明了地位用户
展现利用爬虫获取的有用数据。
4结语
本文基于
Python
设计实现了
Boss
直聘网招聘信息的可
视化系统,整体设计分为两个模块:一是数据获取模块,利
用网络爬虫技术实现相关的职位信息并保存至数据库中;二
是数据可视化展示模块,利用
PHP
将
Boss
直聘网中冗杂的
数据明了、直观地展现出来,能够使求职者清晰了解本行业
的相关信息,快速找到自己心仪的职位。对于数据童较大的
网站,本文设计的系统还存在一些不足,如爬取数据较多时
图8登条界面
的运行速度较慢,可以通过多进程技术加快爬虫的速度,建
〇
立分布式网络爬虫来获取更多的数据。本文设计的网络招聘
数据可视化系统能够为后续研究奠定一定的基础。
…
三
ii
三
il
二
ii
参考文献
[1] 艾瑞咨询.2019年中国网络招聘行业市场发展半年报告
i
i
…
n
(2019
H
1) [
EB
/
OL
].(2019-10-01)[2021-01-05].
http
://
repart
.
E
iresearch
.
cn
/
rq
>
ort
_
.
aspx
?
id
=3464.
[2] 葛琳,杨娜
.Python
招聘数据分析[
J
].计算机与网絡,
图
9
査询界面
2020,46(16):62-65.
ID■
[3] 钟机灵.基于
Python
网络爬虫技术的数据采集系统研究[
J
].
‘• 110693
信息通信,202(4):96-98.
G
10896
[4] 于娟,刘强.主题网络爬虫研究综述[
腿分忻师
J
].计算机工程与科
学》2015,37(2):231-237.
□ 10698
[5] 刘倩倩.基于
I
PHP
和
MySQL
的网站设计与实现[
J
].中小
10899
币
企业管理与科技(下旬刊),2020(10):162-163.
U
1
D
9〇
e
[6] 曾健荣,张仰森,郑佳,等.面向多数据源的网络爬虫实现
〇 1
Q
919
技术及应用[
J
].计算机科学,2019,46(5):304-309.
U
10934较策分折师
[7] 侯美静,崔艳鹏,胡建伟.基于爬虫的智能爬行算法研究[
J
].
! 110941
图10表询结果
计算机应用与软件,2018,35(11):215-219.
115
版权声明:本文标题:网络招聘数据可视化系统的设计与实现 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1713093125a619497.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论