CN103927367A - 基于事件的微博采集系统及方法 - Google Patents

基于事件的微博采集系统及方法 Download PDF

Info

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
Application number
CN201410161456.6A
Other languages
English (en)
Inventor
李翔
裘瑛
黄豫蕾
王佳凯
陈继国
林祥
陈璐艺
冯皪魏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI PENGYUE JINGHONG INFORMATION TECHNOLOGY DEVELOPMENT Co Ltd
SHANGHAI INSTITUTE OF DATA ANALYSIS AND PROCESSING TECHNOLOGY
Shanghai Jiaotong University
Original Assignee
SHANGHAI PENGYUE JINGHONG INFORMATION TECHNOLOGY DEVELOPMENT Co Ltd
SHANGHAI INSTITUTE OF DATA ANALYSIS AND PROCESSING TECHNOLOGY
Shanghai Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHANGHAI PENGYUE JINGHONG INFORMATION TECHNOLOGY DEVELOPMENT Co Ltd, SHANGHAI INSTITUTE OF DATA ANALYSIS AND PROCESSING TECHNOLOGY, Shanghai Jiaotong University filed Critical SHANGHAI PENGYUE JINGHONG INFORMATION TECHNOLOGY DEVELOPMENT Co Ltd
Priority to CN201410161456.6A priority Critical patent/CN103927367A/zh
Publication of CN103927367A publication Critical patent/CN103927367A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information 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/84Mapping; Conversion
    • G06F16/86Mapping to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document 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、微博发布时间、微博发布客户端。
CN201410161456.6A 2014-04-22 2014-04-22 基于事件的微博采集系统及方法 Pending CN103927367A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 北京网康科技有限公司 一种基于内容的网页分类方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
万久士: "基于JSSh的信息采集技术研究与实现", 《中国优秀硕士学位论文全文库 信息科技辑》 *
万久士: "基于JSSh的信息采集技术研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
万久士等: "基于JSSh实现身份认证网站信息采集", 《计算机技术与发展》 *

Cited By (7)

* Cited by examiner, † Cited by third party
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