Beta阶段冲刺一
Beta阶段冲刺一
Task1:团队TSP
团队任务 | 预估时间 | 实际时间 | 完成日期 |
---|---|---|---|
新增其他学院的爬虫 | 180 | 130 | 11.30 |
新增其他学院的数据库字段修改 | 180 | —— | —— |
新增其他学院的数据库部署到es | 180 | —— | —— |
前端和新增学院数据的交互 | 300 | —— | —— |
实现网站的定时爬取以及es的自动同步(绝对路径版) | 200 | 180 | 11.30 |
实现网站的定时爬取以及es的自动同步(相对路径版) | 60 | —— | —— |
主界面设置最新通知播报栏样式 | 300 | —— | —— |
将项目部署到服务器 | 200 | —— | —— |
扩大使用范围至移动端 | 100 | —— | —— |
前端界面的美化 | 100 | —— | —— |
需求说明书的调整 | 60 | —— | —— |
搜索引擎测试 | 80 | —— | —— |
用户使用调查 | 100 | —— | —— |
Beta阶段发布说明 | 200 | —— | —— |
Task2:描述项目进展
成员 | 任务安排 | 预期任务量/小时 |
---|---|---|
秦玉(组长) | 实现网站的定时爬取以及es的自动同步(绝对路径版)、编写博客园 | 180 |
陈晓菲 | 实现网站的定时爬取以及es的自动同步(绝对路径版)、编写博客园 | 180 |
韩烨 | 新增其他学院的爬虫 | 180 |
姚雯婷 | 新增其他学院的爬虫 | 180 |
罗佳 | 实现网站的定时爬取以及es的自动同步(绝对路径版)、编写博客园 | 180 |
高天 | 实现网站的定时爬取以及es的自动同步(绝对路径版) | 180 |
Task3:目前面临的困难
bat文件只实现了从绝对路径启动项目,如果这个bat文件给了别人,别人也不能用,所以需要修改bat文件为相对路径,同时还需要实现自动开启数据库,这个也没有实现,很多东西感觉都要在服务器上才能做出来,但服务器现在还处在了解的阶段。
Task4:已取得成果
成果1:
像要做一个脚本,我们的启动程序都是不能关闭的命令行,必须要在后台执行才能打开相应的网页,那脚本的话我们刚开始以为是只能一个命令运行过后关闭了这个命令才能运行下一个命令所以就在网上百度,发现其实是可以实现新开的窗口自己运行不影响之后的命令出现:
start a.bat
但是这个命令试过之后有个缺陷,就是运行晚之后并不会保留当前窗口而是要立马退出,并不符合我们的要求,我们需要的是打开之后保留命令行,所以又百度发现了另外的代码:
start cmd /k ""
""里面输入命令即可,这样的窗口是可以保留的,同时用&&来分割下一行的命令,所以一句里面就可以完全写完代码
后面我们还发现,我们是先爬取页面再打开es再打开log再打开redis,这个是一定要有顺序的,并且还需要等待上一个的完成才能继续下一个的执行,那要怎么办呢,因为我们的窗口是不会关闭的,并且也会一直不断的跳文字,检测不了上一个命令是否完成,所以我们就用了一个
下面这条命令会等待10秒,并且可以按任意键跳过等待
TIMEOUT /T 10
下面这条命令会等待300秒,并且只能按下CTRL+C来跳过
TIMEOUT /T 300 /NOBREAK
下面这条命令会持续等待,直到你按下任意按键.功能类似于pause
TIMEOUT /T -1
下面这条命令会持续等待,直到你按下CTRL+C按键
TIMEOUT /T -1 /NOBREAK
当然还有sleep和wait代码可以使用,也是相同的作用。需要注意的是,不能使用他的跳过,这样的话会直接退出窗口,不执行下一个命令。
运用了bat文件来实现全自动化的启动项目,不需要之前繁琐的打开三四个命令行来运行程序,测试数据。
成果2:
已经完成了轮机学院的爬取代码,现在总共是有两个学院的爬取数据。
爬取轮机工程学院网站内容的代码整体框架和之前爬取计算机工程学院的基本一致,但由于两个网站源码结构有差异,需要根据实际源码进行数据筛选。新建一个轮机工程学院的表,字段内容与之前的计算机的表一致。
首先爬取导航栏中的链接,从而获得所有文章链接。定义start_url为轮机工程学院网站首页,由于首页中的各分栏不包含在导航栏中,故将其设为other_urls。↓
实例化scapy的selector,使用xpath选择器筛选出所有导航栏链接,调用回调函数进行进一步解析,得到所有的文章页面链接。先使用选择器提取出文章网页中的标题、内容等数据。通过item loader加载item。itemloadr提供了一个容器,让我们配置某一个字段该使用哪种规则。
Task5:项目燃尽图
https://www.leangoo.com/kanban/board/go/2565273