Boss数据分析

  1. 项目说明
    首先着眼于当下严峻的就业形势,我们需要知道各个行业的供需关系以及薪酬范围.大到全国薪酬,小到城市平均薪酬,细致到每个公司历史招聘数据都要保留并加以分析
  2. 技术栈
    爬虫:webmagic框架+selenium爬取动态页面
    Springboos数据交互
    Dom4j解析数据
    IO流递归读取文件
    Linux shell命令
    Html.css.js
  3. 流程
    3.1首先使用爬虫实现动态页面的数据捕获
    3.2 输出流将元数据保存成文件
    3.3读取数据文件
    3.4 数据结构化
    3.5 数据持久化
    3.6 搭建springboot进行数据交互
    3.7 将前面的步骤抽象优化,并交由springboot管理
    3.8 linux部署
    4.实现
    代码很全,具体参考源码
    5.遇到的问题总结
    1.webmagic爬取动态加密页面,需要耗费大量时间研究解密策略,直接使用selenium获取动态数据
    2.反扒机制封IP,购买ip池,当检测到异常页面时自动更换IP,继续当前爬取任务
    3.webmagic爬虫监控,单纯maven项目无法解决依赖问题,直接使用springboos管理依赖就可以监控爬虫
    5.递归获取文件,先递归获取所有文件路径全名存储,然后在遍历集合进行IO读取
    6.数据解析,使用dom4j的时候,无法解析双标签中存在的单标签,所以需要熟悉数据结构,将单标签处理删除掉
    7.数据结构化,数据结构化的时候,需要创建实体类进行管理,实体类的属性需要匹配相应字段,不呢全部为string,例如薪酬字段是2k-3k,200元/天 这种数据,就需要正则替换.并且调用integer.pasint进行转换包装.其次想要数据持久化,需要考虑表结构的问题,留出富裕属性,增加项目的扩展性,避免新的需求出现时需要更改全部代码
    8.脏数据处理,当出现重复数据的时候,合理使用hashset去重属性直接去重而不是到数据库中处理.如果存在特殊字符,使用黑名单+白名单进行数据过滤
    9.数据持久化,持久化的时候,需要考虑数据量,查询效率,字段名称是否合理等问题
    10.manager管理全流程,当你要把全部操作都交给springboot管理时,会出现很多问题,这时候就要考虑合理使用try catch,什么时候抛异常,什么时候忽略异常,并且要考虑管理时存在的交互问题
    6.待解决的bug
    1.mybatis的int类型注入问题,因为要在薪酬中匹配范围,所以要传入int类型的值,但是总是一传入就报错,也不知道是哪里的问题,int和integer都试过了都不可以
    2.selenium的linux部署问题,selenium的linux 环境配置不太友好,命令行模式并不能打开google chrome,而且system,config配置中显然无法配置selenium的环境变量
    3.webmagic的多个问题:1.pipline的数据下载问题2.自定义pipline类的问题3.指定不能访问更多分页的api设计技术问题,屏蔽掉继续爬取数据的来源4.多线程异步爬取数据时数据安全问题
    7.待优化的地方
    1.SpiderManage的源码暴露在外,并且很简陋,没有进行解耦操作
    2.数据量过大会让动态渲染的过程卡顿,为了提升用户体验应该进行分页操作,而分页操作的配置又很麻烦,这就是在项目初始没有想好架构的问题,导致扩展性差,想要添加功能就要改变大部分源码.
    3.处理数据时对性能过高的开销,因为整个过程中为了实现解耦,创建了多个list和set集合,并且没有交由spring管理,导致处理数据时占用内存稍高
    4.表架构设计时没有考虑分区,每日相同数据无法分辨,需要添加字段进行分辨
    8.扩展计划
    1.增加数据可视化功能,对地点-工作岗位-工资薪酬-供应需求4个维度进行可视化
    2.增加公司维度数据分析,记录每个公司历史数据
    3.增加公司权重分析,增加新的爬虫对数据中的公司进行更全面的数据获取,并且为其添加标签,以及权重
    4.增加boss爬虫的第二维度数据获取
    5.完善webmagic框架,进行扩展监控,和自定义pipline

Boss爬虫prd文档相关推荐

  1. 干货|我的三年产品基本功之PRD文档攥写

    产品基本功不仅是基础 最近刚好负责的一个UGC模块已经进入文档阶段.本文为各位朋友带来一个产品基本功的分享--产品需求文档,这一篇分享将是我3年产品进阶到今天,个人要求需求文档目前的撰写标准. 从腾讯 ...

  2. PRD文档范例,产品经理值得收藏的写作手册

    本文由作者 刀哥说 发布于社区 2015年,我写了一篇梳理PRD的文章,获得3.5万次阅读.至今已过去5年,在这5年里,我一直从事产品产品相关的工作,也经历过一次完整的创业,对PRD又有了一些新的思考 ...

  3. 五分钟轻松搞定产品需求文档!这可能史上最全PRD文档模板…

    本文由  @JustWu 原创发布于社区 为什么写这篇文章? 第一:写PMCAFF的PRD文档,大家都是用户,比较好参考与理解,方便大家来找我写的不好的地方. 第二:我在自学PRD文档的编写过程中,总 ...

  4. 【2】PRD文档介绍

    首先,我想说,题主是一个不严肃的人(严肃脸),所以每次干个啥事之前我都喜欢唠唠嗑,说说废话,沟通沟通感情,曾经以为自己将会成为一个幻想中的产品经理那般大展身手,作为非计算机专业出身的应届生,后来才发现 ...

  5. 商城前后端原型、商城prd文档、商城后台管理系统、商城app文档、电商需求文档、限时秒杀、电商平台、促销助力、拼团抽奖、电商文档、prd文档、电商前后端原型、电商原型、Axure电商系统、rp原型

    商城前后端.商城prd文档.商城后台管理系统.商城app文档.电商需求文档.限时秒杀.电商平台.促销助力.拼团抽奖.电商文档.prd文档.电商前后端原型.电商原型.Axure电商系统.rp原型 Axu ...

  6. 商城前后端prd文档/经销商门户/瓶箱回收系统/组织管理平台/系统管理后台/商城文档/司机管理移动端原型/电商前后端原型/电商前后端需求文档//运输公司管理/产品库管理/资金管理/移动端电商原型文档

    商城前后端prd文档/经销商门户/瓶箱回收系统/组织管理平台/系统管理后台/商城文档/司机管理移动端原型/电商前后端原型/电商前后端prd文档/后台管理系统原型/运输公司管理/产品库管理/资金管理/移 ...

  7. prd移动端通用产品需求文档+Axure高保真app社交订餐通用prd文档+产品业务说明+PRD功能性需求+移动端公工通用模板说明+需求分析+竞品分析+产品结构图+产品业务流程图+产品信息图+餐饮系统

    作品介绍:prd移动端通用产品需求文档+Axure高保真app社交餐饮通用prd文档+产品业务说明+通用prd文档+移动端公工通用模板++全局说明+需求分析+竞品分析+产品结构图+产品业务流程图+产品 ...

  8. Axure电商后台业务管理系统原型模板+app电商原型交互+移动端电商通用PRD文档+全局交互用例说明+Axure高保真电商社交prd文档

    作品介绍:Axure电商后台业务管理系统原型模板+app电商原型交互+移动端电商通用PRD文档+全局交互用例说明+Axure高保真电商社交prd文档 原型交互演示及下载地址https://www.pm ...

  9. 完整的PRD文档包含哪些内容?

    完整的PRD文档包含哪些内容? 千万,千万,千万别再套模板写需求文档了,要想写好需求文档重要的不是包含哪些内容,而是为什么包含这些内容! 话不多说,直接上干货. 要想写好需求文档,先了解需求文档是什么 ...

最新文章

  1. keyshot卡住了还能保存吗_倒入醒酒器的红酒一次没喝完,还能倒回酒瓶保存吗?...
  2. 使用python通过selenium模拟打开chrome窗口报错 出现 您使用的是不受支持的命令行标记:--ignore-certificate-errors...
  3. java设计模式建造_Java设计模式——建造模式(Builder Pattern)
  4. 随机生成一个质数的python代码_使用质数生成随机密码
  5. C 的CList,CPtrList,CObList,CStringList 用法之CPtrList
  6. Angular4.x+Ionic3 踩坑之路之打包时出现JAVASCRIPT HEAP OUT OF MEMORY的几种解决办法
  7. 【转】小屁孩, 懂个啥
  8. 学python能做什么类型的工作-学Python Web开发框架到什么程度可以找到开发的工作?...
  9. 电压比较器之LM393工作原理
  10. getJSON()的使用
  11. mapper.xml中注释问题
  12. 质量提高90%以上,智能化施工为高铁建设提速增效
  13. 股票数据Scrapy爬虫-Python网络爬虫与信息提取-北京理工大学嵩天教授
  14. 使用PQ分区魔术师与DiskGenius合并主分区与逻辑分区
  15. 软件项目管理 3.3.迭代生存期模型
  16. 【LeetCode-SQL】1527. 患某种疾病的患者
  17. 安凯AK3918E加载mtk7601驱动不能ifconfig wlan0 down
  18. k-nearest neighbor,k近邻法
  19. 机器学习之随机森林(手推公式版)
  20. 数学分形之复牛顿迭代法

热门文章

  1. FormData数据格式
  2. 科学解释超级计算机,人工智能、现代科学证明:宇宙是虚拟的,真实世界是超级计算机...
  3. win7系统ftp服务器构建,win7系统构建ftp服务器
  4. 常见的内存错误java_Java虚拟机常见内存溢出错误汇总,Java中常见的坑看了可以少走点弯路...
  5. 流氓软件卷土重来 8749上演黑吃黑
  6. 微信分享到朋友圈的链接,内容打开正常,但在微信中分享时封面缩略图图像和标题显示不出来?...
  7. python人工智能面试题爱奇艺面试题_【爱奇艺Python面试】爱奇艺大数据面试 python-看准网...
  8. WMS仓储管理系统定制
  9. 使用runOnUiThread更新UI
  10. iMeta高被引论文|陈同/刘永鑫等高颜值绘图网站imageGP被引500次(截止22/12/13)