目录

一.前言

二.前期安装与配置

三.功能实现

四.效果展示&总结


一.前言

本次期末项目是在期中项目基础上进行的

期末的项目要求如下:

vue 前端Java爬取 vue爬虫_elasticsearch

相比于期中的项目要求,期末项目的难度大大提升,需要实现的拓展功能有“注册与登录功能”、“记录用户操作”、“实现管理端”等。期末项目要求使用express框架实现前端,这实际上在期中项目已经实现了,因此在期末项目中使用express框架搭建后台并使用vue框架开发前端。

二.前期安装与配置

1. 安装vue.js

  为了更好的呈现项目成果,我使用express框架搭建后台,用vue框架重做了前端。vue框架是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合...一言以蔽之,vue框架比较方便简单。通过指令cnpm install vue-cli -g   全局安装 vue-cli,之后选定路径,新建vue项目,输入操作指令cnpm install与cnpm run dev即可安装成功。具体安装步骤可参考文章https://www.jianshu.com/p/02b12c600c7b

2.vue框架相关配置

首先使用vue-cli脚手架创建vue项目,打开项目config/index.js,配置跨域主机和修改端口,host为后端接口api。

vue 前端Java爬取 vue爬虫_elasticsearch_02

  1. 在src/main.js引入element-ui以及其他依赖包

vue 前端Java爬取 vue爬虫_node.js_03

3.创建页面并配置路由

要使用vue框架来创建页面:

admin:为后台页面

client:为前台页面

commom:为前台公用页面

vue 前端Java爬取 vue爬虫_vue 前端Java爬取_04

  1. 配置路由,在router/index.js引入所需跳转的页面

vue 前端Java爬取 vue爬虫_elasticsearch_05

完成前期工作后,就要开始实现具体的诸多功能了。

三.功能实现

先实现用户的登录功能,设计后台界面的登录验证,使用cookies来保存用户的登录状态,判断用户是否登录,若登录则可以查看新闻界面,若没有登录则要调到后台的登录界面

vue 前端Java爬取 vue爬虫_javascript_06

实现登录的效果如下:

vue 前端Java爬取 vue爬虫_node.js_07

登录遇到的情况还是挺多的...代码如下:

vue 前端Java爬取 vue爬虫_elasticsearch_08

vue 前端Java爬取 vue爬虫_node.js_09

后端代码:

vue 前端Java爬取 vue爬虫_node.js_10

当然,没有账号自然无法登录,我们还需要实现注册功能,效果如下:

vue 前端Java爬取 vue爬虫_vue 前端Java爬取_11

vue 前端Java爬取 vue爬虫_javascript_12

后端代码:

vue 前端Java爬取 vue爬虫_elasticsearch_13

这就实现了用户的注册以及登录功能。

此外,我们还需要将用户的注册、登录、查询等操作记入到数据库中去:

vue 前端Java爬取 vue爬虫_elasticsearch_14

封装日志函数

vue 前端Java爬取 vue爬虫_elasticsearch_15

在需要的路由中调用

引入函数

vue 前端Java爬取 vue爬虫_node.js_16

调用

vue 前端Java爬取 vue爬虫_vue_17

然后要对爬虫数据的查询结果进行分页、排序,此外拓展要求1还要求实现中文分词的查询,在这里一起完成。

分页的效果如图:

vue 前端Java爬取 vue爬虫_vue_18

分页组件

vue 前端Java爬取 vue爬虫_vue 前端Java爬取_19

搜索其实在期中项目中已经实现,这里要优化一下:

后端接口,引入中文分词模块segment

vue 前端Java爬取 vue爬虫_vue 前端Java爬取_20

对于中文分词,举个例子:

字符串:“腾讯等互联网平台发布合规经营承诺书:不实施垄断协”,分词如下

vue 前端Java爬取 vue爬虫_node.js_21

路由,前端传来用户账号、输入内容,去掉特殊字符,拼接查询语句

vue 前端Java爬取 vue爬虫_elasticsearch_22

vue 前端Java爬取 vue爬虫_node.js_23

例如搜索:广州考古

vue 前端Java爬取 vue爬虫_node.js_24

结果

vue 前端Java爬取 vue爬虫_node.js_25

接下来用Echarts实现数据分析图并展示在网站中,先附上Echarts学习网站https://echarts.apache.org/examples/zh/editor.html?c=pie-simple,学习后我实现了两个饼状图、一个柱状图与一个折线图。

vue 前端Java爬取 vue爬虫_elasticsearch_26

vue 前端Java爬取 vue爬虫_javascript_27

vue 前端Java爬取 vue爬虫_node.js_28

vue 前端Java爬取 vue爬虫_vue_29

vue 前端Java爬取 vue爬虫_vue 前端Java爬取_30

饼状图的代码如下,其他图类似。

vue 前端Java爬取 vue爬虫_node.js_31

最后要实现管理端界面,还要实现可以查看用户的操作记录与管理注册用户,效果如图:

其中停用注册用户实现

vue 前端Java爬取 vue爬虫_elasticsearch_32

vue 前端Java爬取 vue爬虫_elasticsearch_33

后端代码如下:

vue 前端Java爬取 vue爬虫_javascript_34

日志分析

vue 前端Java爬取 vue爬虫_node.js_35

封装日志函数

vue 前端Java爬取 vue爬虫_javascript_34

在需要的路由中调用

引入函数

vue 前端Java爬取 vue爬虫_vue 前端Java爬取_37

调用

vue 前端Java爬取 vue爬虫_vue_38

以上基本要求就完成了。

四.效果展示&总结

最后来展示下最终效果~

在cmd中启动reptile与reptile-client两个文件

vue 前端Java爬取 vue爬虫_javascript_39


连接上数据库


vue 前端Java爬取 vue爬虫_vue 前端Java爬取_40


打开网页后,若未登录则只能查看三条新闻

vue 前端Java爬取 vue爬虫_elasticsearch_41

然后点开登录界面,没有账号的话需要先注册:

vue 前端Java爬取 vue爬虫_node.js_42

vue 前端Java爬取 vue爬虫_node.js_43

注册并登录成功后,就可以查看所有的新闻了

vue 前端Java爬取 vue爬虫_vue_44

分页&搜索功能:

vue 前端Java爬取 vue爬虫_vue_45

vue 前端Java爬取 vue爬虫_elasticsearch_46

若没有搜索内容,会跳出提示:

vue 前端Java爬取 vue爬虫_javascript_47

此外登陆后还可查看数据分析图

vue 前端Java爬取 vue爬虫_javascript_48

管理端停用注册用户并查看操作记录:

vue 前端Java爬取 vue爬虫_elasticsearch_32

vue 前端Java爬取 vue爬虫_node.js_35

项目算是大功告成~

总结:本次爬虫期末项目相比于期中难度飞升,虽然期末项目中的一些要求在期中已经实现,但仍然存在很多新内容,比如Echarts、中文分词等,花费了大量时间学习并查询了诸多资料才勉强完成,通过期末项目对于web编程有了一个较为清楚的认识,但是对很多地方仍一知半解,日后还需要不断练习。