产品描述

这个产品的目的是为了学霸网站提供后台数据获取以及处理操作。在alpha阶段基本调通的基础至上,我们希望在bate版本中加入对于问答对的处理,图片的获取等功能。

预期目标

在alpha阶段,我们受限于时间,基本沿用了上届老旧的代码,所以遇到了很多bug问题,并且因为隐藏很深、缺失文档等原因导致较难调试。并且受限于整体程序框架,很多功能性问题都根本上无法解决。于是在bate版本中,我们选择了完全重构。针对于爬虫,我们抛弃掉alpha中纯手工爬取的方式,采用了crawler4j作为基础框架开发。针对于数据处理,也将上届代码完全拆分,并且将C#语言的代码改写成java(为了与代码整体框架更好的配合),同时计划新增管理网页,可以实现实时看到处理进度以及对于处理程序进行控制,这里采用Bootstrap框架,对于不同分辨率等支持较好。

阶段改进

  1. 无法过滤已爬网站 -> 过滤已爬网站并且可以即时保存
  2. 爬虫无法停止 -> 支持动态停止以及重启,动态新增种子,同时脱离eclipse运行环境
  3. 无法爬取word文档、图片等 -> 增加对于word文档、图片爬取的支持
  4. 中文乱码 -> 中英文支持,并且支持关键词英汉互译
  5. 两个单独桌面应用 -> 用网页管理的后台应用
  6. 无法处理问答对 -> 新增对于问答对的专门识别以及处理
  7. 数量的累计: 注:以下全部为全新的数据

    html:12000

    pdf:50

    doc:113

    image:1800

效果展示











技术亮点

  1. 交叉编译:在决定用java作为整个程序的核心框架时,为了即满足顶层语言需要,又保留上届劳动成果,使用微软支持更好的C#库类,我们在克服了许多困难之后成功的在程序中使用了很多交叉编译技术。
  2. 夸服务器交互:因为我们的程序需要跨两个服务器,爬虫与数据库在78,网页以及数据处理在79,所以就涉及到网页对于爬虫程序得控制。最终我们的解决办法是通过特定格式的文件进行爬虫程序的控制以及信息获取。
  3. 效率改进:为了更直观的说明,可以参考下面的时间对比情况
项目 改进前 改进后
爬虫 60-100/h 1500-2000/h
数据处理 1-2min/per 4-6s/per

To Do

虽然目前为止我们已经完成了很多的事情,但是仍然有不少的工作是可以后续接着做来让这套系统变得更好的

  1. 对于cookie的支持还不够完善
  2. 服务器网络环境的配置使得爬虫顺利运行
  3. 视频的爬取支持
  4. 爬虫的关键词筛选

阶段成果

龙威零式_团队项目例会记录_17

龙威零式_团队项目例会记录_18

龙威零式_团队项目例会记录_19

龙威零式_团队项目例会记录_20

龙威零式_团队项目例会记录_21

龙威零式_团队项目例会记录_22

龙威零式_团队项目例会记录_23

龙威零式_团队项目例会记录_24

龙威零式_团队项目例会记录_25

龙威零式_团队项目例会记录_26

龙威零式_团队项目例会记录_27

龙威零式_团队项目例会记录_28

各成员模块接口声明

Beta版本发布说明

Beta版本测试文档

Beta postmortem

学霸数据处理项目之数据处理框架开发者手册

交叉编译总结笔记

TF-IDF算法学习报告

关键词模块部分说明文档

项目管理改进

  1. 更明确的任务定义
  2. 更简洁的会议
  3. 更高效的沟通
  4. 更多的留存成果
  5. 更多的成长

收获

  1. 继往开来
  2. 耐心加一点点运气
  3. 软工永远不是一个人的事情

数据获取以及处理Beta版本展示的更多相关文章

  1. Beta版本展示

    Beta版本展示 开发团队:MyGod 团队成员:程环宇 张芷祎 王田路 张宇光 王婷婷 源码地址:https://github.com/WHUSE2017/MyGod MyGod团队项目的目标: 让 ...

  2. 团队作业9——Beta版本展示博客

    一. 骆杰宁(组长) 风格:少说话,多做事. 擅长技术:Jsp 编程兴趣:GUI 希望角色:PM 一句话宣言:年轻是本钱,不努力就不值钱. 胡丹丹 风格:不断沉淀自己 擅长技术:擅长TCP/IP协议模 ...

  3. Beta版本展示博客

    1 团队介绍 团队组成: 齐爽爽(258)个人博客:http://www.cnblogs.com/shuangshuangblog/ 马帅(248)个人博客:http://www.cnblogs.co ...

  4. Beta版本演示

    小组信息 组名:斗地组 组长博客:地址 组内成员: 组员 学号 林涛(组长) 031702616 童圣滔 031702117 林红莲 031702213 潘雨佳 031702214 覃鸿浩 03170 ...

  5. 第05组 Beta版本演示

    第05组 Beta版本演示 小组信息 组名:天码行空 组长博客:地址 组内成员: 组员 学号 卢欢(组长) 031702513 陈天恒 031702527 古力亚尔·艾山 031702511 张聪 0 ...

  6. 第04组 Beta版本演示

    小组信息 组名:斗地组 组长博客:地址 组内成员: 组员 学号 林涛(组长) 031702616 童圣滔 031702117 林红莲 031702213 潘雨佳 031702214 覃鸿浩 03170 ...

  7. 第02组 Beta版本演示

    目录 1. 博客链接及组员信息(2分) 2. 贡献比例(3分) 3. GitHub 项目链接(1分) 4. 博客汇总(2分) 5. 燃尽图(3分) 6. 原计划.达成情况及原因分析(6分) 7. Be ...

  8. 第02组Beta版本演示

    组长博客 组名:十一个憨比 本组组员: 学号 姓名 分工 贡献比例 181700413 黄智 写Beta冲刺的四次博客,写评审表,写word,统筹规划 9% 131700309 林闽沪 代码实现,答辩 ...

  9. 第09组 Beta版本演示

    组长博客 本组(组名)所有成员 短学号 姓名 2236 王耀鑫(组长) 2210 陈超颖 2209 陈湘怡 2228 许培荣 2204 滕佳 2205 何佳琳 2237 沈梓耀 2233 陈志荣 22 ...

随机推荐

  1. Builder模式

    原文来源于http://www.iteye.com/topic/71175 对于Builder模式很简单,但是一直想不明白为什么要这么设计,为什么要向builder要Product而不是向知道建造过程 ...

  2. 谈谈eclipse使用技巧

    俗话说的好啊,“工于利启事,必先善其器”,如果说你的编程功底是一个枪法的话,那么强大的eclipse就是android战士们最好的武器. 这里,我们来总结eclipse的使用技巧,从而使我们的编程达到 ...

  3. Matlab中的mapminmax函数学习

    premnmx() is obselete. Use MAPMINMAX instead. >> x1=[1 2 4] >> [y,ps]=mapminmax(x1); 得到: ...

  4. CSS 透明度 设置 兼容IE FF

    filter:Alpha(Opacity=80);/*IE*/ -moz-opacity:0.8;/*FF*/ opacity: 0.8;/*所有元素*/ 参数设置说明: Alpha(Opacity= ...

  5. sql server 2012提示:评估期已过 的解决办法 附序列号

    sql server 2012提示评估期已过的解决方法: 第一步:进入SQL2012配置工具中的安装中心. 第二步:再进入左侧维护选项界面,然后选择选择版本升级. 第三步:进入输入产品密钥界面,输入相 ...

  6. Hibernate入门与简谈

    Hibernate jdbc Java Databases Connectivity, 他是提供了一组Java API来访问关系数据库的Java程序.这些Java API 可以使Java应用程序执行S ...

  7. __autoload的小tip

    __autoload魔法函数不仅在如 $a=new testClass();时可以触发.在 class a extends b时 如果b类的定义在当前页未找到,也可以触发这个函数

  8. 记录Js

    1.对于js,没有系统的学习.有要经常的用到,每次都是百度查找,为了以后能查询. (1). $(function () { $('.restbtn').on("click", fu ...

  9. 第三章 Git使用入门

    我们都知道Linux和Android是开源的.Linux下的软件很多都不直接以二进制形式的安装包提供,而是直接提供了源代码,为了减少发行包的大小,用户须先下载源代码,在本机上编译并安装,使用make. ...

  10. Linux内核分析—完成一个简单的时间片轮转多道程序内核代码

    ---恢复内容开始--- 20135125陈智威 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-10 ...