CN103927367A - 基于事件的微博采集系统及方法 - Google Patents
基于事件的微博采集系统及方法 Download PDFInfo
- Publication number
- CN103927367A CN103927367A CN201410161456.6A CN201410161456A CN103927367A CN 103927367 A CN103927367 A CN 103927367A CN 201410161456 A CN201410161456 A CN 201410161456A CN 103927367 A CN103927367 A CN 103927367A
- Authority
- CN
- China
- Prior art keywords
- url
- microblogging
- browser
- microblog
- html
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
- G06F16/86—Mapping to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种信息安全技术领域的基于事件的微博采集系统及方法,该系统包括:URL构造模块、JSSH客户端模块、浏览器采集模块以及HTML解析模块,URL构造模块与JSSH客户端模块相连接并传输采集的URL信息,JSSH客户端模块与浏览器采集模块相连接并传输JSSH指令,浏览器采集模块与HTML解析模块相连接并传输HTML文本信息。本发明能够将一条微博可以解析出微博作者名、微博作者主页URL、微博作者头像URL、微博正文内容、微博短链接、微博发布时间、微博发布客户端、转发数、评论数等等抽象数据,从而将每一条原本非结构化数据变成结构化数据,从而实现抽象数据的具体化,供后续数据挖掘使用。
Description
技术领域
本发明涉及的是一种信息安全技术领域的系统及方法,具体是一种基于事件的微博采集系统及方法,通过该系统获取的微博信息可进行数据挖掘并用于数据分析。
背景技术
现有的采集系统大多采用直接对网站进行采集的方式。如刘兰,吴振新在《Web Archive信息采集流程及关键问题研究》(情报理论与实践,2009)以及林颖,吴振新,张智雄在《WebArchive存档策略分析》(现代图书情报技术,2009.)。这些采集系统的缺陷主要在于:首先,这样效率低下,对采集系统负载要求很高。其次,需要面对各种不同的网站情况,对采集源的格式分析比较复杂,采集系统很难及时应对URL的频繁变化。最后,传统的采集系统大多以存档为主要目的,缺乏对采集内容的分析和重组,在浩瀚的内容面前很难及时发现热点和趋势。现有的微博采集技术通常采用API进行微博信息采集,此方法受API使用限制较大,进行频繁采集以及时更新数据,无法满足大信息量获取的需求。
经过对现有技术的检索发现,中国专利文献号CN102609460A,公开日2012‐07‐25,公开了一种微博客数据采集方法及系统,该技术首先初始化用户数据;对获得的用户特征进行提取,取得可用于进行用户确定的特征数据;对提取出的数据进行过滤,过滤后的数据特征进行用户类型确定;对于不同类别的用户采用不同策略进行数据采集。该方法采集之前必须先基于对用户的分类,不能满足舆情特别是突发事件相关庞大信息量的快速采集。
万久士、李翔、林祥在《基于JSSH实现身份认证网站信息采集》(《计算机技术与发展》2009年第10期)中提出了基于JSSH(java脚本外壳服务器,java Script Shell Server)实现身份认证网站发布信息采集方案。但该技术仅解决了动态新闻和论坛信息的获取,无法实现信息的自动整合,自动化程度较低,无法实现抽象数据的集合归类,难以满足工业需求。
发明内容
本发明针对现有技术存在的上述不足,提出一种基于事件的微博采集系统及方法,能够将每一条原本非结构化数据变成结构化数据,从而实现抽象数据的具体化,供后续数据挖掘使用。
本发明是通过以下技术方案实现的:
本发明涉及一种基于事件的微博采集系统,包括:URL构造模块、JSSH客户端模块、浏览器采集模块以及HTML解析模块,其中:URL构造模块与JSSH客户端模块相连接并传输采集的URL信息,JSSH客户端模块与浏览器采集模块相连接并传输JSSH指令,浏览器采集模块与HTML解析模块相连接并传输HTML文本信息。
本发明涉及上述系统的采集方法,包括以下步骤:
第一步,通过JSSH客户端传递浏览器指令,连接到微博登录页面进行登录动作以模拟浏览器自动登录过程;
第二步,解析页面上的URL链接并对URL链接进行匹配:根据策略词构造URL链接,并向浏览器传输访问URL的指令,当浏览器打开指令中所含URL链接的网页后,将该网页上的HTML内容转储成HTML文件。
第三步,将第二步获取到HTML文件中的链接逐条与规则进行匹配,进一步打开浏览器链接至匹配规则的链接的网页,并获取该网页的源代码
所述的规则是指:对于微博采集信息录入有效且包含微博内容的页面的共同特征规则,
所述的匹配是指:当链接符合规则掩码时认为匹配,该掩码是指:当前微博搜索结果中页面翻页链接所对应的URL地址,将URL中页码参数的赋值更改为*号的通配表示。
第四步,对第三步采集得到的网页源代码进行解析,生成结构化数据并存入不同的数据仓库,实现微博信息的结构化录入。
所述的解析是指:从HTML中提取数据库对应字段的所需要的内容
所述的结构化数据包括:微博作者ID、作者昵称、微博内容、微博内容中的缩略图URL、微博内容中的原图URL、微博发布时间、微博发布客户端。
技术效果
本发明和现有技术相比,采用浏览器模拟技术,可以真实模拟人访问微博,不受API使用权限的限制,可以做到频繁采集,满足大信息量的获取需求,同时,基于事件策略触发获取的机制,可以满足对特定舆情相关信息的采集。
附图说明
图1为本发明系统结构示意图。
图2为实施例流程示意图。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例1
如图1所示,本实施例涉及一种基于事件的微博采集系统,包括:URL构造模块、JSSH客户端模块、浏览器采集模块、HTML解析模块,其中:URL构造模块与JSSH客户端模块相连接并传输采集的URL信息,JSSH客户端模块与浏览器采集模块相连接并传输JSSH指令,浏览器采集模块与HTML解析模块相连接并传输HTML文本信息。
所述的JSSH指令包括但不限于:浏览器跳转等动作指令。
如图2所示,以火狐浏览器(FireFox)为例,所述的系统通过以下步骤实现微博采集:
第一步,通过JSSH客户端传递浏览器指令,连接到微博登录页面进行登录动作以模拟浏览器自动登录过程,具体包括:
1.1)首先指定一个Firefox使用的账号(profile)和对应端口(port):
ff=Firefox.new(:port=>port,:profile=>port)
1.2)进入登录页面
ff.goto(login_page,8)
1.3)选择用户名输入框,对应元素name="loginname",并填入用户名
when"name";ff.text_field(:name,name[1]).value=name_input
1.4)选择密码框,对应元素name="loginname",并填入密码
when"name";ff.text_field(:name,pass[1]).value=pass_input
1.5)找到登录按钮,对应元素tabindex="3",并点击
when"tabindex";ff.link(:tabindex,login[1]).click
第二步,解析页面上的URL链接并对URL链接进行匹配:根据策略词构造URL链接,并向浏览器传输访问URL的指令,当浏览器打开指令中所含URL链接的网页后,将该网页上的HTML内容转储成HTML文件,具体步骤包括:
2.1)根据检索条件构造URL,并让FF访问该URL
ff.goto(ARGV[0],60)
2.2)获取网页中的链接,将链接和掩码进行匹配,如果匹配则打开链接
2.3)使用ff.html方法将网页以html格式分别存到本地。
第三步,将第二步获取到HTML文件中的链接逐条与规则进行匹配,进一步打开浏览器链接至匹配规则的链接的网页,并获取该网页的源代码;
所述的规则是指:对于微博采集信息录入有效且包含微博内容的页面的共同特征规则,比如:根据新浪微博搜索URL的既定规律,http://s.weibo.com/weibo+“中文URL转码”+参数“topnav=1”+“&”+参数“wr=5”+“&”+参数“b=1”,将关注策略进行转换,比如关注策略为“两会”,即构造出
“http://s.weibo.com/weibo/%25E4%25B8%25A4%25E4%25BC%259A?topnav=1&wvr=5&b=1”的URL链接,作为输入微博采集模块的参数,进行原始页面的获取。
所述的匹配是指:当链接符合规则掩码时认为匹配,该掩码是指:当前微博搜索结果中页面翻页链接所对应的URL地址,将URL中页码参数的赋值更改为*号的通配表示,例如:“http://s.weibo.com/weibo/”+当前策略中文URL转码”+“&”+参数“b=1”+“page=*”(*为整数)。
所述的网页源代码的获取方式操作为:利用浏览器接口中的HTML函数,将浏览器解析完JavaScript的页面HTML输出到指定文件。
第四步,对第三步采集得到的网页源代码进行解析,生成结构化数据并存入不同的数据仓库,实现微博信息的结构化录入。
所述的解析是指:从HTML中提取数据库对应字段的所需要的内容,例如,由href=\"http:\/\/weibo.com\/pengxy\"title=\"\u5f6d\u6653\u82b8\"中:
a)正则title=\"与"中的信息为发微博的作者,通过JavaScript汉字转码即可得到作者名。
b)正则“arget=\"_blank\"suda‐data=\"key=tblog_search_v4.1&value=weibo_feed_h_1:”与\">\n中的信息为用户的id,可直接构造“http://weibo.com/uid”为作者主页链接,构造头像链接“http://tp4.sinaimg.cn//1736499131//50//5657270873//0/%22”为用户头像。
c)正则
<span
style=\"color:red;\">\u4e24\u4f1a<\/span>\u671f\u95f4\u6211\u5728\u51e4\u51f0\u7f51\u505a\u7684\u5bf9\u8bdd\u6e05\u534e\u5927\u5b66\u6559\u6388\u6768\u71d5\u7ee5
\u7684\u89c6\u9891\u5730\u5740\uff0c\u6211\u4eec\u8c08\u5f97\u5f88\u6df1\u5165\u5f88\u4e30\u5bcc\u3002\u73b0\u5728\u5a92\u4f53\u6458\u53d6\u53ea\u8a00\u7247\u8bed\u7092\u4f5c\u7684\u65b9\u5f0f\u4ee4\u4eba\u9057\u61be\u3002\u6768\u71d5\u7ee5\u5bf9\u517b\u8001\u95ee\u9898\u7814\u7a76\u975e\u5e38\u6df1\u5165\uff0c\u5979\u7684\u4e3b\u5f20\u53ef\u4e0d\u662f\u4f60\u60f3\u8c61\u7684\u90a3\u6837\u7b80\u5355\uff0c\u4e00\u5473\u8c29\u9a82\u53ea\u80fd\u8bf4\u660e\u5f88\u591a\u4eba\u8ba8\u8bba\u4e0d\u4e86\u8fd9\u4e2a\u95ee\u9898\u3002\u300a\u4e0b\u4e00\u4e2a\u5341\u5e74\uff1a\u5982\u4f55\u5e94\u5bf9\u672a\u5bcc\u5148\u8001\u300b中,<span style=\"color:red;\">\u4e24\u4f1a<\/span>后的均为JavaScript汉字转码的微博正文内容。
<a
title=\"http:\/\/news.ifeng.com\/opinion\/special\/shhyanglao\/detail_2013_03\/14\/23112900_0.shtml\"href=\"http:\/\/t.cn\/zYr6yk4\"中,<a title=\与最近一个\"之间的为短链接的真实链接,href=\"与最近一个\"之间的为短链接。
title=\"2013‐09‐1300:06\"date=\"1379002016000\"中可以解析出当前微博发布的时间。
href=\"http:\/\/weibo.com\/\"
rel=\"nofollow\">\u65b0\u6d6a\u5fae\u535a<\/a>\n中,rel=\"nofollow\">与最近一个/a>\n之间的为发布客户端的名称,通过JavaScript汉字转码可以得知发布客户端为“新浪微博”,href=\"与最近一个\"之间的为发布客户端对应的链接。
>\u8f6c\u53d1(101)<\/a>中\u8f6c\u53d1为JavaScript汉字转码的“转发”,获取后面括号中的数字,即为转发数。
>\u8bc4\u8bba(99)<\/a>中\u8bc4\u8bba为JavaScript汉字转码的“评论”,获取后面括号中的数字,即为评论数。
所述的结构化数据包括:微博作者ID、作者昵称、微博内容、微博内容中的缩略图URL、微博内容中的原图URL、微博发布时间、微博发布客户端。
根据本系统及上述方法,可以将一条微博可以解析出微博作者名、微博作者主页URL、微博作者头像URL、微博正文内容、微博短链接、微博发布时间、微博发布客户端、转发数、评论数。
在返回的搜索结果页面网页源码中,会有至多十五条微博,依次解析上述元素,存入数据库对应字段,即可依次构造出每一条微博,并且将每一条微博原本非结构化数据,变成结构化数据,从而实现抽象数据的具体化,供后续数据挖掘使用。
Claims (7)
1.一种基于事件的微博采集系统,其特征在于,包括:URL构造模块、JSSH客户端模块、浏览器采集模块、HTML解析模块,其中:URL构造模块与JSSH客户端模块相连接并传输采集的URL信息,JSSH客户端模块与浏览器采集模块相连接并传输JSSH指令,浏览器采集模块与HTML解析模块相连接并传输HTML文本信息。
2.一种基于权利要求1所述系统的微博采集方法,其特征在于,包括以下步骤:
第一步,通过JSSH客户端传递浏览器指令,连接到微博登录页面进行登录动作以模拟浏览器自动登录过程;
第二步,解析页面上的URL链接并对URL链接进行匹配:根据策略词构造URL链接,并向浏览器传输访问URL的指令,当浏览器打开指令中所含URL链接的网页后,将该网页上的HTML内容转储成HTML文件
第三步,将第二步获取到HTML文件中的链接逐条与规则进行匹配,进一步打开浏览器链接至匹配规则的链接的网页,并获取该网页的源代码;
第四步,对第三步采集得到的网页源代码进行解析,生成结构化数据并存入不同的数据仓库,实现微博信息的结构化录入。
3.根据权利要求2所述的方法,其特征是,所述的规则是指:对于微博采集信息录入有效且包含微博内容的页面的共同特征规则。
4.根据权利要求2所述的方法,其特征是,所述的匹配是指:当链接符合规则掩码时认为匹配,该掩码具体为:当前微博搜索结果中页面翻页链接所对应的URL地址,将URL中页码参数的赋值更改为*号的通配表示。
5.根据权利要求4所述的方法,其特征是,所述的掩码为:http://s.weibo.com/weibo/”+当前策略中文URL转码”+“&”+参数“b=1”+“page=*,*为整数。
6.根据权利要求2所述的方法,其特征是,所述的网页源代码的获取方式操作为:利用浏览器接口中的HTML函数,将浏览器解析完JavaScript的页面HTML输出到指定文件。
7.根据权利要求2所述的方法,其特征是,第四步中,所述的解析是指:从HTML中提取数据库对应字段的所需要的内容;
所述的结构化数据包括:微博作者ID、作者昵称、微博内容、微博内容中的缩略图URL、微博内容中的原图URL、微博发布时间、微博发布客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410161456.6A CN103927367A (zh) | 2014-04-22 | 2014-04-22 | 基于事件的微博采集系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410161456.6A CN103927367A (zh) | 2014-04-22 | 2014-04-22 | 基于事件的微博采集系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103927367A true CN103927367A (zh) | 2014-07-16 |
Family
ID=51145588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410161456.6A Pending CN103927367A (zh) | 2014-04-22 | 2014-04-22 | 基于事件的微博采集系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103927367A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045803A (zh) * | 2015-05-27 | 2015-11-11 | 国家计算机网络与信息安全管理中心 | 社交网络关系的采集方法及系统 |
CN105468664A (zh) * | 2015-05-12 | 2016-04-06 | 北京众标网络科技有限公司 | 一种信息采集方法及装置 |
CN109345081A (zh) * | 2018-09-07 | 2019-02-15 | 阿里巴巴集团控股有限公司 | 一种数据采集方法、装置及电子设备 |
CN109561117A (zh) * | 2017-09-26 | 2019-04-02 | 北京国双科技有限公司 | 数据采集方法及装置 |
CN113726536A (zh) * | 2017-12-08 | 2021-11-30 | 深圳迈瑞生物医疗电子股份有限公司 | 数据处理方法、装置及远程医疗会诊系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080098300A1 (en) * | 2006-10-24 | 2008-04-24 | Brilliant Shopper, Inc. | Method and system for extracting information from web pages |
CN101561802A (zh) * | 2008-04-18 | 2009-10-21 | 上海复旦光华信息科技股份有限公司 | 网页结构化数据提取方法与系统 |
CN102819591A (zh) * | 2012-08-07 | 2012-12-12 | 北京网康科技有限公司 | 一种基于内容的网页分类方法及系统 |
-
2014
- 2014-04-22 CN CN201410161456.6A patent/CN103927367A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080098300A1 (en) * | 2006-10-24 | 2008-04-24 | Brilliant Shopper, Inc. | Method and system for extracting information from web pages |
CN101561802A (zh) * | 2008-04-18 | 2009-10-21 | 上海复旦光华信息科技股份有限公司 | 网页结构化数据提取方法与系统 |
CN102819591A (zh) * | 2012-08-07 | 2012-12-12 | 北京网康科技有限公司 | 一种基于内容的网页分类方法及系统 |
Non-Patent Citations (3)
Title |
---|
万久士: "基于JSSh的信息采集技术研究与实现", 《中国优秀硕士学位论文全文库 信息科技辑》 * |
万久士: "基于JSSh的信息采集技术研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
万久士等: "基于JSSh实现身份认证网站信息采集", 《计算机技术与发展》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468664A (zh) * | 2015-05-12 | 2016-04-06 | 北京众标网络科技有限公司 | 一种信息采集方法及装置 |
CN105045803A (zh) * | 2015-05-27 | 2015-11-11 | 国家计算机网络与信息安全管理中心 | 社交网络关系的采集方法及系统 |
CN109561117A (zh) * | 2017-09-26 | 2019-04-02 | 北京国双科技有限公司 | 数据采集方法及装置 |
CN113726536A (zh) * | 2017-12-08 | 2021-11-30 | 深圳迈瑞生物医疗电子股份有限公司 | 数据处理方法、装置及远程医疗会诊系统 |
CN113726536B (zh) * | 2017-12-08 | 2024-03-29 | 深圳迈瑞生物医疗电子股份有限公司 | 数据处理方法、装置及远程医疗会诊系统 |
CN109345081A (zh) * | 2018-09-07 | 2019-02-15 | 阿里巴巴集团控股有限公司 | 一种数据采集方法、装置及电子设备 |
CN109345081B (zh) * | 2018-09-07 | 2021-10-29 | 创新先进技术有限公司 | 一种数据采集方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2865187C (en) | Method and system relating to salient content extraction for electronic content | |
CN103927367A (zh) | 基于事件的微博采集系统及方法 | |
CN105243159A (zh) | 一种基于可视化脚本编辑器的分布式网络爬虫系统 | |
CN104516982A (zh) | 一种基于Nutch的Web信息提取方法和系统 | |
CN1952929A (zh) | 面向领域基于样本的互联网结构化数据抽取方法及其系统 | |
CN106796637A (zh) | 分析装置、分析方法和分析程序 | |
CN103023714A (zh) | 基于网络话题的活跃度与集群结构分析系统及方法 | |
US11263062B2 (en) | API mashup exploration and recommendation | |
CN103150335A (zh) | 一种基于联合聚类的煤矿舆情监测系统 | |
CN105760379A (zh) | 一种基于域内页面关联关系检测 webshell 页面的方法及装置 | |
CN103279507A (zh) | 网页爬虫操作方法和系统 | |
CN105808722A (zh) | 一种信息判别方法和系统 | |
CN102567521B (zh) | 网页数据抓取过滤方法 | |
CN108073693A (zh) | 一种基于Hadoop的分布式网络爬虫系统 | |
CN112148956A (zh) | 一种基于机器学习的暗网威胁情报挖掘系统和方法 | |
Sun et al. | Design and Application of an AI‐Based Text Content Moderation System | |
CN107562936A (zh) | 一种基于Jsoup的网页新闻列表的抓取及保存方法 | |
CN103488741A (zh) | 一种基于url的中文多语义名词的在线语义挖掘系统 | |
CN104239297A (zh) | 一种网页收藏方法、系统和装置 | |
CN102819613A (zh) | Rss信息分页抓取系统及方法 | |
CN111859867B (zh) | 基于XML和XPath的Web数据提取系统以及其使用方法 | |
KR100989320B1 (ko) | 대용량 웹로그마이닝 및 공격탐지를 위한 비트리인덱스벡터기반 웹로그 고속검색방법 및 비-트리기반인덱싱로그 프로세서 | |
CN104270358B (zh) | 可信网络交易系统客户端监控器及其实现方法 | |
CN113015172A (zh) | 一种基于大数据的舆情聆听系统 | |
KR101005871B1 (ko) | 대용량 웹로그마이닝 및 공격탐지를 위한 비트리인덱스벡터기반 웹로그 복구방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140716 |
|
RJ01 | Rejection of invention patent application after publication |