产业科技创新 Industrial Technology Innovation
74Vol.2 No.20基于开源框架的论坛数据爬虫系统设计与关键技术
王佳龙,张文兵
(神华和利时信息技术有限公司,北京 100001)
摘要:在信息快速发展的当今时代,数据分析与采集不可或缺,笔者收集了大量关于论坛数据采集的参考文献,设计了这一款系统,可以快速帮助笔者采集数据并进行分析处理,采集技术为JSP\Servlet,编程语言为Java语言,有登陆、注册、链采集、入库、导出、退出模块。
关键词:数据;采集;网页;Java
中图分类号:TP311.52 文献标识码:A 文章编号:2096-6164(2020)20-0074-02注册页面js特效
1 绪论
1.1 网页采集系统的研究意义和应用
在计算机广泛应用和使用的今天,数据采集在多个领域有着十分重要的应用它是计算机与外部物理世界连
接的桥梁利用串行或红外通信方式,实现对移动数据采集器的应用软件升级,该通信协议实现了上位机(PC)与移动数据采集器之间的通信阻塞过程,在工业、工程、生产车间等部门,尤具是在对信息实时性能要求较高或者恶劣的数据采集环境中更突出其应用的必要性。
1.2 网页采集系统简介
网页采集系统是基于计算机(或微处理器)测量软件产品,实现灵活的快捷的用户自定义测量系统。该网页数据采集系统是一种基于开源框架的论坛数据爬虫系统,可以高效采集数据并进行分析处理。
1.3 网页采集系统内容
网页采集系统的内容有登陆、注册、采集、入库、导出、退出等,用户访问需要登陆,登陆时候会有默认的帐户名密码并保存到数据库中,当然也可以注册新的帐户名密码,注册成功则保存到数据库,登陆通过比对数据库进行登陆,登陆成功以后进行采集,采集采用链采集的形式,采集一页自动查询是否有其他相关页,有的话一并采集,采集成功后自动入库并按用户要求显示到网页上,根据用户选择导出到word文档供用户查看并操作,最后采集完成后退出登录。
2 系统需求分析
2.1 系统功能需求
系统共分为用户登录模块、注册模块、采集系统管理模块、储存模块、退出模块、对所采集的数据进行需求分析并储存、内部采用单页搜索,多页采集,实现了链采集,具有高度时效性。
有登陆模块、注册模块、采集模块、入库模块、导出模块、退出模块。注册成功后,跳转到登陆界面重新登陆并且保存用户名密码到数据库,此时输入已注册的用户名密码或者用默认的用户名和密码进行登陆,登陆通过比对数据库进行登陆,登陆成功以后进入采集模块(页面)采集,采集采用链采集(通过对单一页面的数据采集搜索页码,是否存在于此页面相关的其他页面,如果有就一并采集)形式,采集成功后将博主的全部个人信息直接保存到数据库data表中,并且页面上的按钮“选择博主信息”中生成博主个人信息展示选项,勾选之后将显示到页面中,此时点击展示内容按钮,将博主的全部文章以表格的形式展示到页面上,此时如果要采集下一位博主个人信息和博主发布的文章内容,需要点击刷新按钮进行刷新,注意采集博主信息时请正确输入博主的路径url(包括空格),采集完成以后,如果想保存到word文档中请点击导出按钮,此时将下载到本地供用户使用,最后采集完成后点击退出登录退出到登陆模块(页面),以便进行其他用户登录。
2.2 系统性能需求
需求分析是一个复杂的过程,它并不像我们想象的那么简单,而性能测试需求除了对系统的业务有很好的了解外,还需要对性能测试有深刻的认识。能够挖掘和分析实际性能需求。
本网页采集系统性能需求如下:
1)WEB首页打开速度3 s以下,WEB登陆速度3 s 以下(项目实测)。
2)采集数据成功率达到90.%以上(项目实测)。
3)系统性能在高于实际系统运行压力1倍的情况下,稳定的运行3 h(项目实测)。
3 系统模块设计
3.1 登录注册模块设计
登陆模块中,在第一次登陆的时候,数据库会有
作者简介:王佳龙(1996- ),男,内蒙古鄂尔多斯人,本科,助理工程师,主要从事软件编程方面研究。
产业科技创新 2020,2(20):74~75Industrial Technology Innovation
75第2卷 第20期
一条默认的管理员用户名和密码,弹窗提醒用户登录,如用户想自行拥有账号密码,可自行跳转至注册页面进行注册,注册和登陆页面都有前端页面和后台页面分别把控与校验,以确保用户账号密码的安全。注册成功以后,账号密码等信息保存到数据库,用户再次跳转到登陆页面进行登陆,登陆失败会弹窗提醒,登陆成功,等待,进入采集系统主页。
3.2 采集数据模块设计
采集模块中,成功登陆到采集主页后,把需要的采集页面(例如论坛博主信息页面)输入到采集文本框中进行采集,同时后端校验并根据需求采集用户想要的信息,采集到重要的数据以后,自动执行入库操作,把数据储存在数据库data表中。并且将采集到的数据返回给页面上,根据用户的选择和需求展示信息,同时,后台通过链采集保证数据的完整性(同一个博主文章的完整性)。
链采集:通过校验,比对采集到的数据是否完整,如果所采集的页面所含的数据不完整(一个页面所含的博主文章不全),那么通过链采集,到该url 所对应的下一页或者下几页的数据,到并采集,直到全部到所要采集的信息为止(到博主全部的文章为止)。
3.3 导出模块设计
在导出模块设计中,将需要的数据展示到页面上,用户可以清晰可见所采集到的信息,只需要内部写一
个实现类,前端页面通过点击按钮来运行这个实现类就可以将所采集到的数据用文档的形式保存到本地了,下面我介绍一下除代码以外的详细导出模块的设计:WEB开发中的一个经典特性是数据的导入和导出。特别是,数据导出在生产管理或财务系统中非常常见,因为这些系统常常需要做一些报表打印工作。数据导出的格式通常是EXCEL。
导出EXCEL格式的文件。目前,有许多主流的Excel文件操作开源工具,其中Apache POI和JExcelAPI被广泛使用。
将三个jar包导入类路径并编写一个导出Excel 的实用程序类。然后可以导出数据。导出模块的设计具有一定的通用性和灵活性。
4 系统模块设计的具体实现
4.1 登录页面设计的实现
登陆页面:登录页面需要美观,突出系统特征,通常由网页美工完成静态登录页面,开发人员完成登录业务处理。登录系统出现错误需要为使用者提供正确提示信息,一般登录页面实现的功能是制作一个from表单,将表单信息提交到servlet处理层。
前端JSP引入蓝空特效并伴有宇宙粒子跟随鼠标焦点移动的JS文件。
通过Script标签后端代码制作了验证码鼠标点击随机变换26英文字母。4.2 注册页面设计的实现·
注册页面:这就是利用HTML和CSS设计的注册页面。注册页面的实现主要是利用了HTML中的Form标签,那么这个标签就是用来制作表单的。而且表单中是包含好几种元素的。
4.3 采集页面设计的实现
采集页面为核心页面,本系统内部对论坛博客网进行了采集校验,用来采集论坛博主信息,采集页面有刷新按钮、采集按钮、重置按钮、选择博主信息按钮、展示内容按钮、导出按钮、退出登录按钮这些核心按钮。
刷新按钮:采集完博主信息后如需采集其他博主请点击刷新按钮,浏览器和服务器之间重新请求响应。
采集按钮:在指定的文本框中输入要采集的论坛博主url(url格式要正确),则内部对此url进行采集,入库,分析,处理,采集完成以后页面弹窗提醒用户采集完成。
重置按钮:当在文本框中输入博主url有错误时,点击重置按钮将文本框中内容清空,重新输入。
选择博主信息按钮:这个按钮是在采集完成之后点击的,它的功能是弹出多选框,多选框中选择博主的个人信息,选择完成后点击确定,弹窗消失,将已选择的信息内容显示的页面上供用户查看,此时的博主个人信息已经保存到数据库data表中,用户可以随时操作处理。
展示内容:这个按钮实在采集完成之后点击的,它的功能是将采集到的博主发布的所有文章和文章的关注度等以表格的形式展示到页面上供用户查看,并且最后一行显示了采集到的文章数量以及采集的页面数量,用户可以一目了然论坛博主的个人全部信息和该博主所有文章的信息以便用户进行查看和修改。
导出按钮:将采集到的博主所有的文章题目和文章关注度以表格的形式下载到本地当前浏览器默认的磁盘路径下,用户可以根据自己电脑中已有的浏览软件打开word文档进行查看该博主所有文章的全部信息。
退出登录按钮:当用户完成所有的操作后,如果想退出登录,请点击退出登录按钮,此时页面会跳转到登陆界面,并且弹窗提醒用户输入默认的用户名和密码,登录成功或者注册成功的用户用户名密码等信息会永久保存到数据库。
5 结语
该系统具有良好的开发前景,并经过了测试和运行,系统界面友好。使用灵活,操作简单,功能齐全,表达方式独特,具有成熟技术的基本理论。使用的是Java、JSP、Servelt技术。
参考文献:
[1] 梁恺. 数据采集系统的发展趋向[J]. 航空测试技术,
1982,3(1):1-6,32.
王佳龙等:基于开源框架的论坛数据爬虫系统设计与关键技术
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论