这次的作业是要接着之前的爬虫项目进一步完善。 第一是增加注册登录的功能,第二是查询词支持AND和OR,第三是分页和排序,第四是使用Echarts来做数据分析的图表。另外的一个要求是用户的每一步行动都要记录到数据库里面。 用到的框架主要是express,angular,还有node-analyzer这些。node jieba要用的话需要配置很复杂的环境,没有做到。所以用node-analyzer来顶替。数据库依然是用的MySQL。
因为这次的项目比较复杂,所以主要是用助教给的项目示例在做。只是在其中添加了一点自己的修改,使得代码能够适应我的新闻数据库的情况。
第一行输入名字,第二行和第三行输入两次密码。 然后用户名必须是独特的,输入已经存在的用户名,会报错。两次密码不一样也会报错。
用户注册成功之后会在数据库里面留下行为信息,也会在用户名单里面增加一个人。 注册完成之后就是点击左边的Login来登录。
登录完成之后就来到的查询的页面 输入标题或者内容的关键字,然后and和or是可以选的,布尔表达式就是这么实现的。 如果只填了第一个,就是只搜索这一个关键字。 下面展示的是OR的用法,带有肺炎和经济的新闻都会被找到。
这里我们输入“股”,就找到了很多的新闻。分成了很多页。 还可以看到每个新闻的作者和链接还有发布时间。但是由于有的网站并没有标注文章的发布时间,所以时间那里就空着的。 我们点击发布时间降序,可以看到排序就排好了,这里就是我们的排序功能。 来到第二页。分页功能在正常地工作。
本来计划又四种图表,分别是饼状图、柱状图、折线图还有词云。但是代码出现了一些我不会解决的问题,所以饼状图和柱状图就看不了。只展示折线图和词云。
在搜索“肺炎”之后,我们找到了很多的新闻,然后这个折线图统计的是疫情这个词在不同的日期里面出现的次数。 这个是根据词语出现的频率生成的词云。分词是用了node-analyzer
下面是在MySQL里面查找用户的名单还有用户行为的记录。 做到这里这次的项目就完成了。
完结撒花ヾ(≧▽≦*)o