(1)article表中存在的属性有:article_id消息编码,article_create_time消息创建时间,article_text消息内容,article_source消息来源,user_id用户编码,User_screen_name用户名称,user_profile_image_url用户头像,user_description用户描述,user_gender用户性别,search_keyword任务抓取关键字,search_channel抓取渠道。
(2)article_reply表中存在的属性有:article_id消息编码,article_create_time消息创建时间,article_text消息内容,article_source消息来源,user_id用户编码,User_screen_name用户名称,user_profile_image_url用户头像,user_description用户描述,user_gender用户性别,article_title标题,create_time抓取时间。
2。3 系统功能结构图
(1)“新浪微博”数据抓取结构图,如图2。1所示
图2。1 “新浪微博”系统功能模块
描述:“新浪微博”数据抓取可以通过两个方法:即时抓取和定时抓取。抓取内容包括:用户ID,名称,头像,发布时间,具体的微博信息内容及相应的回复信息。
(2)“天涯论坛”数据抓取结构图,如图2。2所示
图 2。 2 “天涯论坛”系统功能模块图
描述:“天涯论坛”数据抓取可以通过两个方法:即时抓取和定时抓取。抓取内容包括:用户ID,名称,标题,发布时间,具体的论坛帖子内容及相应的回复信息。
2。4 系统实现的技术方法与特点
2。4。1 系统实现的技术方法
本系统主要采用直接解析数据的方法:
1。对于天涯论坛:
使用Apache httpclient抓取网页html,用Jsoup进行数据解析,获得所需节点数据, 并进行存储。
2。对于新浪微博:
使用Apache httpclient抓取网页html中存在的本页内容数据(或本身URL返回的数据)并对数据进行正则匹配,然后处理成所需格式并存储。
2。4。2 系统实现的方法特点
与传统抓取方法对比:
1。传统方法一: 客户端模拟用户访问抓取
思路:直接在客户端模拟访问网页,并使用html解析工具对html进行解析,获取所需数据。
缺点:受网络环境影响,每抓取一页需要再次请求下一页的数据并等待返回,效率低下,并且给用户的交互体验太差,拖慢系统速度。
2。传统方式二: 使用官方的API进行数据抓取
思路:根据官方提供的API进行数据的搜索和抓取,由于直接获取到的结果不需要任何解析,也不需要模拟用户访问页面,相对而言效率较高。
缺点:官方API,例如新浪微博,数据查询/获取接口需要高级权限,接口权限申请十分困难,并根据官方API使用规范,数据查询/获取接口是有频率限制的,这无疑给一个对实时性相对较高的系统造成无法想象的灾难,同时很有可能因为抓取频率太高被官方封禁,使得这个依赖于API的系统瘫痪。这和一个独立的抓取系统的涉及是相背而驰的。
3。本系统方式:模拟请求并解析获取到的数据论文网
(1)对比传统方式一,避免了模拟用户访问,加速了请求处理速度,同时后台支持并行处理,在处理能力上,用户体验上有很大提升。
(2)对比传统方式二,不使用官方API,首先避免接口权限申请困难,同时避免受第三方系统的影响,真正做到系统独立运行,这对一个系统的好处是不言而喻的。
2。4。3 系统实现的技术概要
1。springMVC
(1)Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的MVC架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架。