## 概述
Jobs-Recommendation-System使用Scrapy爬虫框架对招聘网站进行爬取,并使用ETL工具将数据存储到分布式文件系统;利用大数据,机器学习等技术对求职者和职位信息进行画像建模,并通过推荐算法对求职者做出职位的智能推荐。
## 系统设计框架
* **前期设计框架**:
* 使用3台云服务器进行大数据平台的搭建,其中master节点作为主节点,其他2台服务器作为slave节点,平台主要安装和使用Hadoop,Spark,Hbase,Hive等工具。
* 在master节点上通过python开源框架Scrapy将前程无忧网(jobs.51job.com)的职位数据爬取到master节点的MySQL数据库中进行存储,之后通过sqoop工具将数据抽取转换到Hbase数据库中。
* 通过spark计算框架对hbase中的职位数据进行分析批处理,并将结果存储到Hbase数据库中。
* 对用户的接口使用的是python开源框架Django的web网页,当用户需要推荐时,通过web端发起请求,之后响应程序使用推荐算法做出推荐并返回给用户。
基本设计框架图如下:
<div align=center>
<img src="https://github.com/efishliu/Jobs-Recommendation-System/blob/master/image/%E7%BB%98%E5%9B%BE1.jpg?raw=true" width = 60% height = 60% />
</div>
* **后期设计框架**: ~~(未构建完成)~~
* 使用4台云服务器,在存储端使用MySQL,HDFS,HBase3种存储方式,计算框架采用Spark
## 系统主要功能模块的实现
* **大数据平台的设计与搭建**
* [Hadoop平台搭建说明](https://github.com/efishliu/Jobs-Recommendation-System/blob/master/Hadoop/Hadoop%20Installtion%20Description.md)
* **基于Scrapy的爬虫实现**
* **基于单机的爬虫实现:** 在master节点上将数据爬取到MySQL数据库中并通过sqoop工具导入大数据平台。其中单机爬虫实现的源代码项目:[jobs](https://github.com/efishliu/Jobs-Recommendation-System/tree/master/Scrapy/jobs),MySQL数据库建表SQL:[all_posts_data.sql](https://github.com/efishliu/Jobs-Recommendation-System/blob/master/Scrapy/all_posts_data.sql)。
需要安装*anconda3,scrapy,mysql,mysql-server,pymysql*模块。
参考文档:[Scrapy Document](https://scrapy.org/doc/),[《精通python爬虫框架Scrapy》](https://github.com/efishliu/Jobs-Recommendation-System/tree/master/scrapybook)
* **基于分布式的爬虫实现:**
* 在master节点上整理爬取逻辑和去重工作,将需要爬取网页的url存入Redis共享队列中。 [master爬虫程序](https://github.com/efishliu/Jobs-Recommendation-System/tree/master/Scrapy/master/master)
* 3台slave节点从master节点的Redis共享队列中获取需要爬取的网页,并行地爬取和解析相应的网页,并将数据存储在各自的MySQL数据库中。[slave爬虫程序](https://github.com/efishliu/Jobs-Recommendation-System/tree/master/Scrapy/slave)
* sqoop工具并行抽取3台slave节点的数据到HDFS文件系统中。**(注意解决sqoop数据倾斜问题)**
分布式爬虫项目说明:[ScrapyRedisDesc.md](https://github.com/efishliu/Jobs-Recommendation-System/blob/master/Scrapy/ScrapyRedisDesc.md)
参考文档:[Scrapy分布式爬虫](https://edu.csdn.net/notebook/python/week10/9.html)
* **用户画像与职位信息标签化处理**
* 用户画像说明: [UserPortraitDescription](https://github.com/efishliu/Jobs-Recommendation-System/blob/master/User%20Portrait/UserPortraitDescription.md)
* 使用TF-IDF,word2vec提取关键词和向量化:
python实现(本地):[TF_IDF](https://github.com/efishliu/Jobs-Recommendation-System/tree/master/User%20Portrait/TF-IDF),[word2vec.py](https://github.com/efishliu/Jobs-Recommendation-System/tree/master/User%20Portrait/Text%20vectorization)
spark ML实现:[spark_tf_idf.py](),[spark_word2vec.py]()
* 使用spark对学历,城市,工作经验,行业等进行薪资统计:[spark_mapreduce]()
* 使用Hbase进行数据存储:HBase表结构设计:[HBase]()
* **基于Django开源框架的web页面与推荐算法**
* 使用MySQL构建HBase的索引:MySQL表结构:[index_hbase.sql]()
* 基于内容的推荐:TopN的过滤与排名:[jobs_fliter_rank]()
* Django框架的实现与部署:[Website Deploy](https://github.com/efishliu/Jobs-Recommendation-System/tree/master/Website/Website%20Deploy)
* web页面设计:[Website Design](https://github.com/efishliu/Jobs-Recommendation-System/tree/master/Website/Website%20Design)
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
使用Scrapy爬虫框架对招聘网站进行爬取 (225个子文件)
scrapy.cfg 402B
scrapy.cfg 262B
scrapy.cfg 262B
scrapy.cfg 262B
scrapy.cfg 262B
scrapy.cfg 262B
scrapy.cfg 262B
scrapy.cfg 262B
scrapy.cfg 262B
scrapy.cfg 256B
scrapy.cfg 253B
scrapy.cfg 253B
scrapy.cfg 251B
bootstrap.min.css 118KB
bootstrap.min.css 118KB
style.css 18KB
style.css 18KB
todo.csv 240B
项目计划方案初赛版.docx 3.61MB
求职者智能分析系统-系统简介.docx 2.8MB
求职者智能分析系统-技术路线.docx 1010KB
index.html 17KB
index.html 17KB
information.html 7KB
znpg2.html 5KB
selfinformation.html 5KB
selfinformation.html 5KB
znpg.html 5KB
jobresult2.html 4KB
cloud_index.html 4KB
cloud_index.html 4KB
jobresult.html 2KB
Untitled-2.html 2KB
jobresult.html 2KB
jobscompare.html 0B
绘图6.jpg 699KB
绘图5.jpg 486KB
绘图3.jpg 468KB
绘图1.jpg 409KB
绘图2.jpg 403KB
require.jpg 314KB
ssh.jpg 102KB
绘图9.jpg 78KB
linux1.jpg 24KB
search1.jpg 19KB
load_keywords.js 837B
README.md 4KB
Hadoop Installtion Description.md 3KB
UserPortraitDescription.md 3KB
ScrapyRedisDesc.md 1KB
求职者智能分析系统-技术路线.pdf 12.33MB
求职者智能分析系统-系统简介.pdf 2.28MB
Project-Requirement2.pdf 1.01MB
Project-Requirement.pdf 311KB
web1.png 1.62MB
web2.png 164KB
PPT-Template.pptx 10.41MB
命题三-efish.pptx 2.3MB
终极版命题三-efish.pptx 1.71MB
zh_wiki.py 148KB
zh_wiki.py 148KB
KeywordExtract.py 10KB
deferreds.py 9KB
speed.py 8KB
langconv.py 8KB
langconv.py 8KB
boostwords.py 7KB
geo2.py 7KB
extensions.py 6KB
middlewares.py 6KB
settings.py 4KB
views.py 4KB
settings.py 4KB
redis.py 4KB
settings.py 4KB
middlewares.py 4KB
middlewares.py 4KB
middlewares.py 4KB
spider_51job.py 4KB
train_spider_51job.py 3KB
spider_job51.py 3KB
mysql.py 3KB
settings.py 3KB
noncelogin.py 3KB
computation.py 2KB
legacy.py 2KB
manual.py 2KB
geo.py 2KB
login.py 2KB
monitor.py 2KB
fast.py 2KB
fast.py 2KB
api.py 2KB
tomobile.py 2KB
tomobile.py 2KB
distr.py 2KB
easy.py 2KB
easy.py 2KB
easy.py 2KB
easy.py 2KB
共 225 条
- 1
- 2
- 3
资源评论
极致人生-010
- 粉丝: 4372
- 资源: 3087
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功