知乎爬虫web系统

知乎爬虫web系统

一、pazhihu简介

“爬知乎”是一个可以利用java爬虫程序读取知乎用户动态的网页应用,它主要提供两大功能:
1. 在线搜索知乎用户功能
通过知乎用户的个性域名搜索,可以获取知乎用户个人信息及动态。例如要关注轮子哥输入:excited-vczh。在页面右侧,会出现搜索结果,结果包括:他的个人成就,最新动态,回答过的问题,提出过的问题摘要,并有链接直达详细内容。
2. 动态更新邮件提醒功能
爬知乎的登录用户,可以对知乎用户设置关注,关注的知乎用户更新动态后,发送邮件提醒。

特别说明:
由于Pazhihu是学习JavaSE和部分JavaEE内容后的练习项目,因此使用的技术较为基础,主要涉及到JSP、Servlet、JavaBean、JDBC、DOM、JSTL 、EL、MySQL等基础知识,是适合初学者的趣味练习项目。

二、项目源代码下载

项目已经发布到了github,传递门:
pazhihu源代码下载点这里

三、启动说明

  1. 前端页面源码在pazhihu/web下
  2. 后台处理程序源码在pazhihu/src下
  3. src/jdbc.properties是数据库配置文件:
    • 其中各配置项为:
    • url:数据库位置
    • DBuser:数据库账户
    • DBpsw:数据库密码

四、界面功能展示

  1. 登陆前首页搜索界面:
    登陆前首页搜索展示.jpg

  2. 登录后首页搜索界面:
    登录后搜索展示.jpg

  3. 关注用户界面:
    关注展示.jpg

  4. 后台监听日志:
    后台监听日志.jpg

  5. 提醒邮件接收:
    提醒邮件展示.jpg

五、类、层次、模块设计

1. 搜索模块

无需登录,输入知乎用户的域名后缀,自动返回该知乎用户的部分信息:
个人成就、最新动态、回答的问题、提出的问题

前台页面:首页

**后台功能类:**searchServlet、searchService

2. 注册登录模块

如想要关注一些知乎用户,他们在知乎有了新动态时,想要接收来自爬知乎的提醒邮件,可以选择成为爬知乎网站的注册用户,登录用户可以享受关注功能。

前台页面:注册、登录页面

后台功能类:
* Servlet:RegServlet、LoginServlet、LogoutServlet
* Service:RegService、LoginService
* Dao:DBAccess
* Domain:WebUser、ZhihuUser
* Utils:JdbcUtils

**数据库:**user表

3. 关注管理模块

成为网站的注册用户后,登录可以进入个人中心页面,在个人中心页面,可以添加和管理关注的用户列表。

前台页面:个人中心页面,添加关注页面、编辑关注页面

后台功能类:
* Servlet:setFollowsServlet、editFollowsServlet、DeleteFollowsServlet
* Service:setFollowsService、editFollowsService、DeleteFollowsService
* Dao:DBAccess
* Domain:FollowTable、WebUser、ZhihuUser
* Utils:JdbcUtils

**数据库表:**follows关注表

4. 邮件模块

用户设置了关注后,网站服务器会自动每隔半个小时,在后台获取被关注的知乎用户的最新动态,如果有更新的动态,则立刻发送邮件提醒。

前台页面:

后台功能类:
* Listener:StartTimer、Listener
* Utils:JdbcUtils、MailUtils
* Dao:DBListener

**数据库表:**FollowsActivities动态表

六、待解决问题:

  1. 个别用户的个人成就有些许不一样,需要加判断识别,不然会无法获取;
  2. 数据库连接较为简单粗暴,后期可以使用连接池技术;
  3. 背景图片为知乎改版前的背景,本身是一个动画,但是练习爬虫为了直接目的,直接截图不纠结在这个细节,后期可以做改善;
  4. 后台输出的显示未删除,为了后期调试还可以使用;
  5. 发送的邮件格式比较简陋,后期可以美化一下。
  6. 暂时想不到什么了,毕竟没有长时间多用户的环境下测试过,以后发现了再改吧。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值