产品描述

这个产品的目的是为了学霸网站提供后台数据获取以及处理操作。在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. HalconMFC(一)之多版本配置

    今天比较匆忙,还得写周六日考试扯P的PPT,就先这样开个头吧.我的电脑是win7,32位的系统,我用Halcon10.0.但是很多小伙伴的都是64位系统的,所以我用小伙伴的64位系统试过很多次用VC配 ...

  2. logistc regression练习(三)

    % Exercise 4 -- Logistic Regression clear all; close all; clc x = load('E:\workstation\data\ex4x.dat ...

  3. 优化mysql运行环境的方法

    Mysql优化已经讲过很多篇教程了,而且网上也很多相关内容,但是本文我们是讲Linux下Mysql运行环境如何进行优化,有些地方与以往有所不同,也具有参考价值.具体mysql教程 如下: 一.修改Li ...

  4. Android深度探索--HAL与驱动开发----第四章读书笔记

    1. 下载.编译.测试源代码 创建存放下载文件的目录(repo) 下载repo脚本文件 创建用于存放源代码的目录 开始下载源代码. 2. 源代码目录含义摘要 Abi 应用程序二进制接口 Device ...

  5. pointer to function

    指针.函数.数字.结构体.指针函数.函数指针 初学不好区分,做点儿实验来有效区分一下,以下代码采用dev-C++平台测试 //pointer to fucntion 函数功能是 基地址加偏移量得到偏移 ...

  6. NSOperation实现线程间通信

    -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { //1.创建队列 NSOperat ...

  7. 深入理解css系列:meta标签

    积累太少,时间管理技巧欠缺,所以导致了博客更新的速度迟缓.学习中成长,成长中学习.加油吧!最近在做h5的项目,对于meta标签层出不穷的各式属性值有点头晕,所以查资料整理了下. 关键字:meta na ...

  8. ARM汇编

    ARM汇编 ISA ISA即指指令集架构(Instruction Set Architecture)是与程序设计有关的计算机架构的一部分,包括本地数据类型.指令.寄存器.地址模式.内存架构.中断和意外 ...

  9. Caffe 源碼閱讀(六) InternalThread

    类InternalThread是一个虚类,是Caffe中的多线程接口,其本质是为封装了boost::thread 看源码可以得到以下结论: 1.每个派生类都需要实现一个InternalThreadEn ...

  10. WP8 MediaElement 实现循环播放

    很简单, 直接在MediaEnded事件里加Play()即可