产品描述

这个产品的目的是为了学霸网站提供后台数据获取以及处理操作。在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. Socket模块学习

    Socket是什么呢?     Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socke ...

  2. 如何使用.NET开发全版本支持的Outlook插件产品(二)——完善插件

    插件项目所有代码都已经上传至 https://github.com/VanPan/TestOutlookAdding 勿在浮砂筑高台--定位错误 在介绍后面的插件开发技术之前,让我们先来看看已经达到的 ...

  3. Qt之指针与float--setNum使用

    案例: quint8 ad[8] = {0,100,150,200,0,220,230,250}; QString str; QString str2; ab = (float)(*((float * ...

  4. Qt之Qwt学习之安装

    QWT+qtcreator 编译.安装使用 目录:一.Qwt简介 二.QWT编译 一.Qwt简介 QWT:Qt Widgets for Technical Applications,是开源的2D绘图库 ...

  5. Objective-C Memory Management

    Objective-C Memory Management Using Reference Counting 每一个从NSObject派生的对象都继承了对应的内存管理的行为.这些类的内部存在一个称为r ...

  6. 实验二 简易版C语言文法

    <程序>::=begin<语句串>end <语句串>::=<语句>{;<语句>} <语句>::=<赋值语句> < ...

  7. patchca验证码的使用

    /** * 生成验证码 */ private static RandomFontFactory ff = null; // 自定义验证码图片背景 private static MyCustomBack ...

  8. mysql免安装版本

    [下载MySQL 5.6.13] 从MySQL官方网站mysql.com找到MySQL Community Server 5.6.13的下载地址为http://dev.mysql.com/downlo ...

  9. Python学习路程day15

    Python之路[第十五篇]:Web框架 Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/en ...

  10. (转)jQuery插件 -- Form表单插件jquery.form.js

    beforeSubmit: validate function validate(formData, jqForm, options) { //在这里对表单进行验证,如果不符合规则,将返回false来 ...