CN104954234B - 一种微博数据获取方法、装置及舆情分析方法 - Google Patents
一种微博数据获取方法、装置及舆情分析方法 Download PDFInfo
- Publication number
- CN104954234B CN104954234B CN201510257947.5A CN201510257947A CN104954234B CN 104954234 B CN104954234 B CN 104954234B CN 201510257947 A CN201510257947 A CN 201510257947A CN 104954234 B CN104954234 B CN 104954234B
- Authority
- CN
- China
- Prior art keywords
- microblog
- account
- concern
- content
- server
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/52—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Z—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
- G16Z99/00—Subject matter not provided for in other main groups of this subclass
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1073—Registration or de-registration
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种微博数据获取方法、装置及舆情分析方法,其中微博数据获取方法包括:采用模拟用户登录的方式利用注册的至少一个微博账号登录到微博平台;基于关注‑分组的方式分别接收所述至少一个微博账号的每个预先设定的组内关注好友所发布的微博内容;将所述微博内容存储到存储***中。本发明实施例的技术方案能实时获取完整的微博数据,进一步可以获得及时、全面、准确的网络舆情信息。
Description
技术领域
本发明涉及计算机应用技术领域,具体涉及一种微博数据获取方法、装置及舆情分析方法。
背景技术
随着web2.0时代的到来,微博的使用人群数量逐渐庞大,状态信息更新频繁、信息传播迅速,并且微博平台媒介用户占有率相对集中,因此基于微博数据的分析研究是十分值得关注的研究方向。
微博有着广大的用户基础,舆情信息在微博平台快速的产生和传播,微博用户迅猛增长,基于微博数据的分析已经引起社会的广泛关注。
为了有效地利用微博分析社会舆情,微博数据的获取显得尤为重要。例如新浪微博上活跃着大量的用户,每天产生近1亿的微博内容。微博用户分为普通用户和认证用户,认证用户中拥有众多粉丝、人气较高、具有一定号召力和影响力的名人又被称为意见领袖。他们发布或转发的微博更容易成为热点微博,实时获取意见领袖的微博数据是进行舆情分析的重要方法之一。
目前获取意见领袖的微博数据主要有两种方式:一种方式是通过微博平台提供的第三方程序接口获取微博数据,该程序接口可以获得指定用户的微博,方便快速地批量获取需要的微博数据,但是微博平台都会限定微博数据的采集速率,分别在用户维度和IP维度限定微博数据的采集速率,鉴于该程序接口限制用户每个小时只能请求一定的次数,这样只能抓取有限的数据,而且接口升级以后,这个API接口已经无法获得除授权用户以外的其他微博用户的微博信息。微博平台的这些限制,导致获取数据有限,难以保障舆情分析的准确性。另一种方式是使用定向网络爬虫技术获取微博数据,首先将需要访问的意见领袖微博的URL形成URL列表,通过网络爬虫依次读取URL列表中的记录,获取意见领袖的个人简介和微博列表。网络爬虫通过周而复始地读取URL列表,完成对于意见领袖所发微博数据的获取。这种方式虽然可以获得比较完整的数据,但是数据捕获的周期为读取整个URL列表的时间,因此难以实现实时舆情分析。而且频繁地访问不同意见领袖的微博页面,将面临被微博平台封号的危险,一旦账号被封,将无法再获取任何数据。
发明内容
有鉴于此,本发明实施例提供一种微博数据获取方法、装置及舆情分析方法,通过实时获取完整的微博数据,以及时、全面地掌握网络舆情动态。
本发明实施例采用以下技术方案:
第一方面,本发明实施例提供了一种微博数据获取方法,包括:
采用模拟用户登录的方式利用注册的至少一个微博账号登录到微博平台;
基于关注-分组的方式分别接收所述至少一个微博账号的每个预先设定的组内关注好友所发布的微博内容;
将所述微博内容存储到存储***中。
进一步地,所述至少一个微博账号分别关注不同属性的微博用户,或分别关注相同属性的不同微博用户。
进一步地,所述组内关注好友的划分是依据关注好友发布微博内容的活跃程度确定。
进一步地,其中所述关注好友按不同活跃度分为多个组,且获取微博内容包括按组进行获取微博内容。
进一步地,所述微博数据获取方法还包括:利用微博API接口定时和/或定量添加微博好友关注列表。
进一步地,所述微博数据获取方法还包括:设定间隔时间定时刷新关注好友消息列表,并只获取最新的微博消息列表。
进一步地,获取微博内容包括:利用正则表达式匹配出所需要的数据,包括发布微博的用户名ID、昵称、每一条微博的ID、发布平台、评论数、转发数、参与数、发布时间和发布内容中的至少一个。
进一步地,采用模拟用户登录的方式利用注册的至少一个微博账号登录到微博平台的操作具体包括:
向所述微博平台的服务器发送所述微博账号经过BASE64编码的用户名,请求预登录链接地址,接收所述微博平台服务器返回的用户登录信息;
向所述微博平台的服务器发送所述微博账号经过RSA加密算法加密的用户名和密码,获得所述微博平台的服务器返回的登录成功的标志信息和登录地址;
向所述微博平台的服务器请求登录地址,对所述微博平台的服务器返回的登录成功的会话COOKIE进行保存。
当需要将所述微博账号登录到所述微博平台时,通过所述会话COOKIE直接登录到所述微博平台的服务器。
第二方面,本发明实施例还提供了一种舆情数据分析方法,包括:
通过如第一方面所述的方法获取微博数据;
根据预定规则对获取的微博数据进行分析,获得包括舆情的分析结果。
第三方面,本发明实施例还提供了一种微博数据获取装置,包括:
微博登录模块,用于采用模拟用户登录的方式利用注册的至少一个微博账号登录到微博平台;
微博内容获取模块,用于基于关注-分组的方式分别接收所述至少一个微博账号的每个预先设定的组内关注好友所发布的微博内容;
微博内容存储模块,用于将所述微博内容存储到存储***中。
本发明实施例提出的技术方案的有益技术效果是:
本发明实施例通过采用模拟用户登录的方式利用注册的至少一个微博账号登录到微博平台,基于关注-分组的方式分别接收微博账号的每个预先设定的组内关注好友所发布的微博内容,并存储到存储***中,能实时获取完整的目标微博数据,能全面、准确地获取所需要的网络舆情信息。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的内容和这些附图获得其他的附图。
图1是本发明具体实施例一所述的微博数据获取方法流程图;
图2是本发明具体实施例二所述的微博数据获取方法流程图;
图3是本发明具体实施例三所述的微博数据获取方法流程图;
图4是本发明具体实施例四所述的微博数据获取方法流程图;
图5是本发明具体实施例四所述的模拟登录过程交互流程图;
图6是本发明具体实施例五所述的微博数据获取装置的结构框图;
图7是本发明具体实施例六所述的微博数据获取装置的结构框图。
具体实施方式
为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
实施例一
图1是本实施例所述的微博数据获取方法流程图,本实施例可适用于微博平台以外的第三方基于微博分析舆情的情况,该方法可以由配置于计算机的微博数据获取装置来执行,如图1所示,本实施例所述的微博数据获取方法包括:
S101、采用模拟用户登录的方式利用注册的至少一个微博账号登录到微博平台。
本操作的目的在于控制计算机自动登陆到微博平台,以便于所述计算机自动获取微博内容。
S102、基于关注-分组的方式分别接收所述至少一个微博账号的每个预先设定的组内关注好友所发布的微博内容。
在将所述微博账号登录到微博平台之后,添加关注设定的微博用户时,可指定其所属的组别。由于微博平台对各次接收关注好友的微博消息有长度限制,如果某领域账号添加关注的意见领袖数目比较多,而未对这些关注的意见领袖进行分组,或者即使对这些意见领袖进行了分组但是没有分别对各个分组的组内的意见领袖分批接收微博内容,则会出现因为接收的微博内容的长度超出为该长度限制而导致某些微博内容接收不到的问题,因此,本实施例要求将微博账号的关注好友首先进行分组,然后分别接收各个分组组内关注好友所发布的微博内容,以使每次只接收一个分组的组内关注好友所发布的微博内容,降低各次获取的微博内容来源的关注好友过多,而导致接收数据超过微博平台的长度限制而丢失数据的问题,能提高获取微博数据的完整性。
例如,目前新浪微博***默认接收关注好友的微博消息为10页,如果某领域账号添加关注的意见领袖数比较多,10页内容并不能完全展现所有即时的微博消息,因此需要进一步使用好友分组功能,基于关注-分组的方式分别接收各微博账号的每个组内关注好友所发布的微博内容。
其中,所述微博账号可以是给定的预先创建的微博账号,也可以是通过微博平台提供的账号创建函数或命令获取的微博账号。
本实施例中,所涉及的微博账号的数目在此并不作限定,一个或一个以上微博账号均可,具体数目可根据进行舆情分析的精度、舆情分析的目标领域、微博平台的用户数目限制、微博平台的访问频率限制、和/或微博平台的关注数目限制等因素中的一种或一种以上决定。
本实施例中,所述设定的组内关注好友可以是预先指定的微博账号,也可以是根据进行舆情分析的精度、舆情分析的目标领域、微博平台的用户数目限制、微博平台的访问频率限制、和/或微博平台的关注数目限制等因素中的一种或一种以上,从该微博平台中允许关注的微博账号中筛选获取微博账号。例如,根据微博用户的微博标签、微博内容、和/或注册信息,与舆情分析的目标领域之间的相关度,从微博用户中的意见领袖中筛选相关度排名靠前的意见领袖,对所筛选的意见领袖添加关注并确定其所属的分组,作为所述设定的所述分组内的组内关注好友。需要说明的是,关注设定的组内关注好友的方法会因微博平台的不同而不同,例如,新浪微博目前提供的添加关注的API(Application ProgrammingInterface,应用程序编程接口)是friends/create。
具体地,其具体的API接口及其输入参数应根据对应的微博平台的要求确定。
在将所述微博账号登录到微博平台之后,定位到此微博账号的首页,定位到各个所关注组内好友的微博消息推送页面,相应页面推送的内容即是当前关注好友的微博信息,获取这些关注好友原创的微博以及他们转发的微博内容。
例如,可利用正则表达式匹配出所关注好友新发布的微博内容。
S103、将所述微博内容存储到存储***中。
获取微博内容之后,即可按照预设方法对所获取的微博内容进行存储,例如按照设定的存储方法和存储结构存储在数据库中、文件中、云端等,在此不一一列举。
本实施例通过采用模拟用户登录的方式利用注册的至少一个微博账号登录到微博平台,基于关注-分组的方式分别接收微博账号的每个预先设定的组内关注好友所发布的微博内容,并存储到存储***中,能降低各次获取的微博内容来源的关注好友过多,而导致接收数据超过微博平台的长度限制而丢失数据的风险,能提高获取微博数据的完整性。
本实施例可以实时获取完整的目标微博数据,能全面、准确地获取所需要的网络舆情信息。
实施例二
需要说明的是,对于不同的微博平台来说,其具体地接收用户登录的方式不同,但是基本原理相似。本实施例具体公开了一种采用模拟用户登录的方式将注册的微博账号登录到微博平台的操作方法,为了更清楚地说明具体的实现方式,各步骤通过使用新浪微博账号登录新浪微博平台为例来阐述各步骤的具体方法。
图2是本实施例所述的微博数据获取方法流程图,如图2所示,本实施例所述的微博数据获取方法包括:
S201、向微博平台的服务器发送注册的微博账号经过BASE64编码的用户名,请求预登录链接地址,接收所述微博平台服务器返回的用户登录信息。
首先向所述微博平台的服务器请求发送经过BASE64编码的用户名,对应地,所述微博平台的服务器返回用于加密的信息参数。例如,新浪微博服务器会返回用于加密的servertime、nonce和rsakv等。
S202、向所述微博平台的服务器发送所述微博账号经过RSA加密算法加密的用户名和密码,获得所述微博平台的服务器返回的登录成功的标志信息和登录地址。
进一步地,所述注册的用户名经过BASE64计算,通过上一步获取的servertime、nonce和rsakv对所述注册的微博账号的密码进行RSA加密得到用于登录的暗码,发送加密后的用户名和密码,对应地,所述微博平台的服务器返回表示登录成功的标志信息和登录地址。
S203、向所述微博平台的服务器请求登录地址,对所述微博平台的服务器返回的登录成功的会话COOKIE进行保存。
请求登录地址到新浪微博服务器,新浪微博服务器会返回表示登录成功的Cookie(此处指新浪微博为了辨别用户身份、进行会话Cookie跟踪而储存在用户本地终端上的数据)。
S204、通过所述会话COOKIE直接登录到所述微博平台的服务器。当需要将所述注册的微博账号登录到新浪微博平台时,通过所述会话COOKIE直接登录到新浪微博平台的服务器。
S205、判断时间是否符合预设的接收微博内容的周期,若是则执行操作S207,否则执行操作S206。
基于关注-分组的方式接收所述意见领袖所发布的微博内容时,可以是根据微博平台的关注频率的限制条件确定关注周期,根据所确定的关注周期周期性地从微博用户中的意见领袖中筛选相关度排名靠前的意见领袖作为所述设定的微博用户,也可以是根据微博平台的关注人数限制条件从微博用户中的意见领袖中定量地筛选相关度排名靠前的意见领袖作为所述设定的微博用户,具体地,若设定的微博帐号过多,可采用周期性地轮流登录各个设定账号的方式来增量获取该设定账号所关注的意见领袖新发布的微博内容。因此,对每个微博账号来说,需周期性地等待周期时间到达时使用上一步登录成功的会话COOKIE直接登录到新浪微博平台的服务器.
S206、等待,返回操作S205。
S207、判断所述注册的微博账号是否登录到微博平台,若是则执行操作S208,否则返回操作S204。
S208、基于关注-分组的方式接收所述微博账号关注的一个分组的组内好友所发布的微博内容。
即每次接收所述微博账号所关注的一个分组的组内好友所发布的微博内容。
S209、将所述微博内容存储到存储***中,返回操作S205。
本实施例在实施例一的基础之上,通过模拟用户登录的方式登录微博平台,利用正则表达式匹配出所需要的数据,包括发布微博的用户名ID、昵称、每一条微博的ID、发布平台、评论数、转发数、参与数、发布时间和发布内容中的至少一个,能根据意见领袖的动态变化适应性地对关注的意见领袖进行适应性调整,能更及时、更准确地获取微博数据。
实施例三
图3是本实施例所述的微博数据获取方法流程图,如图3所示,本实施例所述的微博数据获取方法包括:
S301、根据需获取数据的目标领域分别为各目标领域注册至少一个微博账号。
如果基于微博进行舆情分析包括的领域超过一种领域时,若通过同一微博账号同时关注的领域超过一个领域时,则后续还需对所获取的微博数据按照分析领域进行分类。
本实施例为每个目标领域所注册的微博账号的数目在此并不作限定,一个或一个以上微博账号均可,具体数目可根据进行舆情分析的精度、舆情分析的目标领域、微博平台的用户数目限制、微博平台的访问频率限制、和/或微博平台的关注数目限制等因素中的一种或一种以上决定。
例如,目标领域分别为报纸媒体、公共知识分子、司法律师、财经、房产、科技、健康医疗、教育和公益,若进行舆情分析的精度要求不高,可分别为每个目标领域注册一个微博账号,若些目标领域的意见领袖数量较大,或要求舆情分析的数据基数足够大,也可以为其中这些目标领域注册两个或两个以上的微博账号。
S302、采用模拟用户登录的方式将为各目标领域注册的所述至少一个微博账号登录到所述微博平台。
本步骤的操作即利用程序模拟用户的登录行为登录到微博平台。
以使用新浪微博账号登录新浪微博平台为例,具体操作如下:
首先发送经过Base64编码的用户名,新浪微博服务器会返回用户登录信息(servertime、nonce和rsakv等)。
其次发送经过Base64编码的用户名以及经过RSA加密算法加密的用户暗码到新浪微博服务器,新浪微博服务器会返回表示登录成功的标志信息和登录地址。
最后请求登录地址到新浪微博服务器,新浪微博服务器返回表示登录成功的Cookie(此处指新浪微博为了辨别用户身份、进行会话Cookie跟踪而储存在用户本地终端上的数据),对接收的该Cookie进行保存,通过已经保存的Cookie直接登录。
S303、根据微博用户的微博标签、微博内容、和/或注册信息,与需获取数据的目标领域之间的相关度,从微博用户中的意见领袖中筛选相关度排名靠前的意见领袖作为所述设定微博用户。
从微博用户中的意见领袖中筛选相关度排名靠前的意见领袖作为所述设定的微博用户的操作,可采用多种方式实现,例如可包括以下方式:
方式一、根据微博平台的关注频率的限制条件确定关注周期,根据所确定的关注周期周期性地从微博用户中的意见领袖中筛选相关度排名靠前的意见领袖作为所述设定的微博用户。
方式二、根据微博平台的关注人数限制条件从微博用户中的意见领袖中定量地筛选相关度排名靠前的意见领袖作为所述设定的微博用户。
需要说明的是,对于上述方式以及其他的方式,若不同的方式之间无相互冲突或排他性问题,多种方式可以择一采用,也可结合采用。
S304、在所述设定的微博账号中对所筛选的意见领袖加关注并分组,作为关注好友。
S305、基于关注-分组的方式接收所述意见领袖所发布的微博内容。
S306、将所述微博内容存储到存储***中。
本实施例的技术方案充分利用微博自身的特点,通过关注-分组的方式选定适当的微博账号进行关注,分门类别地接收微博平台推送的所关注的微博账号的原创和转发的微博信息,可以及时、全面、准确地获取微博数据,而且能避免账号被微博平台封号。
实施例四
图4是本发明具体实施例四所述的微博数据获取方法流程图,如图4所示,本实施例所述的微博数据获取方法包括:
S401、注册多个新浪微博账号。
例如,申请9个新浪微博账号,分别添加关注列表。每个账号的关注列表分别对应不同领域的意见领袖,分别为报纸媒体、公共知识分子、司法律师、财经、房产、科技、健康医疗、教育和公益。
如果基于微博进行舆情分析包括的领域超过一种领域时,若通过同一微博账号同时关注的领域超过一个领域时,则后续还需对所获取的微博数据按照分析领域进行分类。
S402、为每个账号分别添加关注列表以关注相应领域的意见领袖,并将关注的意见领袖进行分组。
本实施例为了避免获取微博数据后对所获取的微博数据进行分类的操作,根据不同的分析领域申请多个微博账号,将每一个账号只关注某一个领域的意见领袖。每个领域意见领袖的添减关注可以根据新浪微博风云榜的影响力榜单和人气榜单排行以及意见领袖拥有的粉丝数和发布话题的活跃程度等进行。其中,本实施例所称的活跃程度包括微博用户发布话题的频率。
根据意见领袖以往发表话题的内容和自身的标签特点,将具有较高人气的意见领袖(含个人和新闻媒体),分成不同的分析领域,如:报纸媒体、公共知识分子、司法律师、财经、房产、科技、健康医疗、教育和公益等。
具体地,本实施例中,添加关注列表的操作可以调用新浪API接口,每十分钟关注一个意见领袖,每天关注50个。根据不同领域意见领袖人气与影响力的不同,每个账号的关注数不同,其中前四类意见领袖关注500个,后五类关注200个。如果考虑到报纸媒体领域的意见领袖活跃度高,他们更新微博速度很快,可以将其分为2个或多个账号进行关注。
需要注意的是,有些微博平台对所有微博账号的操作有限制,例如对所有账号或不同级别的账号关注频率和/或关注人数有限制,其具体的限制条件因不同的微博平台会存在差异。例如新浪微博对于用户每天关注频率和关注人数都有限制,所以可利用新浪微博提供的API接口friendships/create定时定量更新意见领袖,即定时删除关注列表里面全部或部分的意见领袖,对应地,随即添加新的意见领袖组成新的关注列表,或往删除部分意见领袖的关注列表中添加意见领袖,需要注意的是,添加的意见领袖后,务必使当前关注的微博账号的数量应满足该微博平台的数量要求。
进一步地,针对每个账号的关注列表还可再进行分组。新浪微博可以实现批量分组,例如将关注前四类(报纸媒体、公共知识分子、司法律师、财经)意见领袖的账号所关注的意见领袖分成10组,每组50人;将关注后五类(房产、科技、健康医疗、教育和公益)意见领袖的账号所关注的意见领袖分成4组,每组50人。
S403、采用模拟用户登录的方式使用所述账号登录新浪微博。
采用模拟用户登录的方式,即利用程序模拟用户的登录行为登录到微博。
图5是本实施例所述的模拟登录过程交互流程图,如图5所示,本实施例中新浪微博服务器执行的操作包括S1-S3,用户程序客户端执行的操作包括C1-C4,其具体交互过程如下:
首先用户程序客户端执行操作C1发送经过BASE64编码的用户名,请求预登录链接地址。
新浪微博服务器执行操作S1返回用户登录信息。
用户程序客户端执行操作C2发送经过RSA加密算法加密的用户名以及暗码。
例如,用户程序客户端在新浪微博登录的时候,密码其实经过RSA加密,所使用到的信息包括用户名和密码、服务器发送过来的servertime(服务端向客户端发送的服务时间)、nonce(服务端向客户端发送的随机字符串)和rsakv(服务端向客户端发送的一个字段)。
需要介绍的是,RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。RSA就是他们三人姓氏开头字母拼在一起组成的。RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。所谓的RSA公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。
新浪微博服务器执行操作S2返回表示登录成功的标志信息和登录地址。
用户程序客户端执行操作C3请求登录地址。
新浪微博服务器执行操作S3返回表示登录成功的Cookie。
用户程序客户端执行操作C4通过已经保存的Cookie,直接登录。
至此,用户程序客户端通过模拟用户手动地用新浪微博账号登录新浪微博的过程,实现了通过程序登录新浪微博。
需要说明的是,本实施例是通过一种具体的实施方式说明模拟使用所述新浪微博账号登录微博的方法,其采用的具体的编码方式包括但不限于BASE64编码,实际的不同的平台或版本的微博服务器对用户名和密码进行加密的方式也包括但不限于RSA,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代实现本发明目的的技术方案,均包含在本发明的保护范围之内。
具体地,不同的微博平台获取指定意见领袖的微博数据的方法不尽相同,在此并不作限定。例如,根据新浪微博的要求,需要在提交post之前预先get获取一组参数(servertime,nonce,rsakv等),然后用这些参数在客户端用JavaScript(一种直译式脚本语言)预先对用户名和密码都进行加密,其中用户名经过BASE64(一种用于传输8Bit字节代码的编码方式)计算,密码经过RSA加密,而且其中加入servertime和nonce的值来进行干扰。将需要发送的报头信息参数组织好,post请求(超文本传输协议中向服务器传送数据的请求命令),检查是否登录成功,登录成功后,获得Cookie,这样才可以去请求所需要的微博数据。
S404、进入相应领域关注列表消息首页。
用已申请的微博账号模拟登录微博成功后,进入关注好友列表消息推送首页。目前新浪微博***默认接收关注好友的微博消息为10页,如果某领域账号添加关注的意见领袖数比较多,10页内容并不能完全展现所有即时的微博消息,可以进一步使用好友分组功能。
S405、接收分组的组内关注好友微博数据。
将关注的意见领袖进行分组,首页选择相应的组别,即可显示该分组下所关注的意见领袖的微博消息。分组时可依据意见领袖的活跃程度来进行,以保障各个关注的意见领袖所发布的数据能被收集到。定位到各个好友分组下的微博消息推送页面,相应页面推送的内容即是当前分组下关注的意见领袖的微博信息,包括他们原创的微博以及他们转发的微博内容。
如果关注的意见领袖的活跃度很高,频繁发布微博,为了保证数据的实时性与完整性,可以设定间隔时间定时刷新关注好友消息列表,根据微博发布时间匹配,每次只需要获取***最新推送的微博消息列表。
S406、利用正则表达式进行页面解析,匹配出所需要的数据存入数据库,返回操作S404。
例如,利用正则表达式匹配出微博舆情分析所需要的数据,包括所关注的意见领袖发布微博的用户名ID、昵称,以及每一条微博的ID、发布平台、评论数、转发数、参与数、发布时间和发布内容等信息。
为了使舆情分析结果更加全面和准确,进一步地,若某条微博是转发的,还可获取转发的原始微博的相关信息,将所有获得数据存入数据库中。更进一步地,微博用户的粉丝数对舆情分析也可设置权重的影响因子,以作为权重计算的评测因素。具体地,可以结合利用API接口2/users/counts,批量获取用户的粉丝数。
上述操作可形成关注数据自动接收器,可每隔设定时间(例如5分钟)重新捕获不同领域的关注意见领袖的微博列表。具体地,可以发布时间为参考,只需获取新浪微博最新推送的微博信息,通过增量获取数据的方式将其存入数据库。
在进入相应分组好友下的微博消息列表页面后,采用正则表达式匹配,获取意见领袖的个人简介和微博信息,翻页提取出***推送的所有关注列表的微博信息,存入数据库。
本实施例的技术方案充分利用微博自身的工作特点,通过关注的方式以及对关注的账号进行分组的方式,选定适当的微博账号进行关注,并对所关注的微博账号进行更精细的分组,分门类别地接收微博平台推送的原创和转发的微博信息,可以及时、全面、准确地获取网络舆情信息,而且能避免账号被微博平台封号。
本领域技术人员需要明确的是,本实施例通过新浪微博来说明具体的获取微博数据的方法,具体的微博产品,具有不同的用户关注机制、信息访问机制、以及登录函数以及数据获取函数的名称和使用方法,为了实现本实施例的方法,均需根据不同的微博产品的特点进行适应性的调整,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代实现本发明目的的技术方案,均包含在本发明的保护范围之内。
实施例五
图6是本实施例所述的微博数据获取装置的结构框图,如图6所示,本实施例所述的微博数据获取装置包括:
微博登录模块610,用于采用模拟用户登录的方式将注册的微博账号登录到微博平台;
微博内容获取模块620,用于基于关注-分组的方式接收所述微博账号组内关注的设定微博用户所发布的微博内容;
微博内容存储模块630,用于将所述微博内容存储到存储***中。
进一步地,所述至少一个微博账号分别关注不同属性的微博用户,或分别关注相同属性的不同微博用户。
进一步地,其中所述关注好友按不同活跃度分为多个组,且获取微博内容包括按组进行获取微博内容。
进一步地,所述微博数据获取装置还包括:利用微博API接口定时和/或定量添加微博好友关注列表。
进一步地,所述微博数据获取装置还包括:设定间隔时间定时刷新关注好友消息列表,并只获取最新的微博消息列表。
进一步地,获取微博内容包括:利用正则表达式匹配出所需要的数据,包括发布微博的用户名ID、昵称、每一条微博的ID、发布平台、评论数、转发数、参与数、发布时间和发布内容中的至少一个。
进一步地,所述微博内容获取模块620具体包括:
筛选子模块(图中未示出),用于根据微博用户的微博标签、微博内容、和/或注册信息,与需获取数据的目标领域之间的相关度,从微博用户中的意见领袖中筛选相关度排名靠前的意见领袖作为所述设定微博用户;
关注子模块(图中未示出),用于在所述注册的微博账号中对所筛选的意见领袖分组加关注;
内容接收子模块(图中未示出),用于基于关注-分组的方式接收所述意见领袖所发布的微博内容。
本实施例提供的微博数据获取装置可执行本发明实施例一、实施例二、实施例三、以及实施例四所提供的微博数据获取方法,具备执行方法相应的功能模块和有益效果。
实施例六
图7是本实施例所述的微博数据获取装置的结构框图,如图7所示,本实施例所述的微博数据获取装置包括:
微博账号注册模块710,用于在采用模拟用户登录的方式将注册的微博账号登录到微博平台的操作之前,根据需获取数据的目标领域分别为各目标领域注册至少一个微博账号。
微博登录模块720,用于采用模拟用户登录的方式利用注册的至少一个微博账号登录到微博平台。
微博内容获取模块730,用于基于关注-分组的方式分别接收所述至少一个微博账号的每个预先设定的组内关注好友所发布的微博内容。
微博内容存储模块740,用于将所述微博内容存储到存储***中。
进一步地,所述微博登录模块720具体包括:加密信息参数获取子模块721,用于向所述微博平台的服务器发送所述微博账号的用户名,接收所述微博平台的服务器返回的用于加密信息的参数;
登录标志信息和地址获取子模块722,用于使用RSA加密方法对所述微博账号的用户名和密码进行加密以获得所述微博账号登录成功与否的标志信息和登录地址;
成功会话获取子模块723,用于向所述微博平台的服务器请求登录地址,对所述微博平台的服务器返回的登录成功的会话COOKIE进行保存;
直接登录子模块724,用于当需要将所述微博账号登录到所述微博平台时,通过所述会话COOKIE直接登录到所述微博平台的服务器。
进一步地,所述至少一个微博账号分别关注不同属性的微博用户,或分别关注相同属性的不同微博用户。
进一步地,其中所述关注好友按不同活跃度分为多个组,且获取微博内容包括按组进行获取微博内容。
进一步地,所述微博数据获取装置还用于:利用微博API接口定时和/或定量添加微博好友关注列表。
进一步地,所述微博数据获取装置还用于:设定间隔时间定时刷新关注好友消息列表,并只获取最新的微博消息列表。
进一步地,获取微博内容包括:利用正则表达式匹配出所需要的数据,包括发布微博的用户名ID、昵称、每一条微博的ID、发布平台、评论数、转发数、参与数、发布时间和发布内容中的至少一个。
进一步地,微博内容获取模块730具体用于:
根据微博用户的微博标签、微博内容、和/或注册信息,与需获取数据的目标领域之间的相关度,从微博用户中的意见领袖中筛选相关度排名靠前的意见领袖作为所述设定微博用户;
在所述注册的微博账号中对所筛选的意见领袖分组加关注;
基于关注-分组的方式接收所述意见领袖所发布的微博内容。
进一步地,微博内容获取模块730具体用于:
根据微博平台的关注频率的限制条件确定关注周期,根据所确定的关注周期周期性地从微博用户中的意见领袖中筛选相关度排名靠前的意见领袖作为所述设定的微博用户;和/或
根据微博平台的关注人数限制条件从微博用户中的意见领袖中定量地筛选相关度排名靠前的意见领袖作为所述设定的微博用户。
本实施例提供的微博数据获取装置可执行本发明实施例一、实施例二、实施例三、以及实施例四所提供的微博数据获取方法,具备执行方法相应的功能模块和有益效果。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种微博数据获取方法,其特征在于,包括:
采用模拟用户登录的方式利用注册的至少一个微博账号登录到微博平台;
基于关注-分组的方式分别接收所述至少一个微博账号的每个预先设定的组内关注好友所发布的微博内容;
将所述微博内容存储到存储***中;
其中所述设定的组内关注好友为预先指定的微博账号,或者是根据进行舆情分析的精度、舆情分析的目标领域、微博平台的用户数目限制、微博平台的访问频率限制和/或微博平台的关注数目限制至少一种因素,从所述微博平台中允许关注的微博账号中筛选获取的微博账号。
2.如权利要求1所述的微博数据获取方法,其特征在于:
所述至少一个微博账号分别关注不同属性的微博用户,或分别关注相同属性的不同微博用户;所述组内关注好友的划分是依据关注好友发布微博内容的活跃程度确定。
3.如权利要求2所述的微博数据获取方法,其特征在于,还包括:利用微博API接口定时和/或定量添加微博好友关注列表。
4.如权利要求2所述的微博数据获取方法,其特征在于,还包括:设定间隔时间定时刷新关注好友消息列表,并只获取最新的微博消息列表。
5.如权利要求2所述的微博数据获取方法,其特征在于,其中所述关注好友分为多个组,且获取微博内容包括按组进行获取微博内容。
6.如权利要求1所述的微博数据获取方法,其特征在于,获取微博内容包括:利用正则表达式匹配出所需要的数据,包括发布微博的用户名ID、昵称、每一条微博的ID、发布平台、评论数、转发数、参与数、发布时间和发布内容中的至少一个。
7.如权利要求1所述的微博数据获取方法,其特征在于,采用模拟用户登录的方式利用注册的至少一个微博账号登录到微博平台的操作具体包括:
向所述微博平台的服务器发送所述微博账号经过BASE64编码的用户名,请求预登录链接地址,接收所述微博平台服务器返回的用户登录信息;
向所述微博平台的服务器发送所述微博账号经过RSA加密算法加密的用户名和密码,获得所述微博平台的服务器返回的登录成功的标志信息和登录地址;
向所述微博平台的服务器请求登录地址,对所述微博平台的服务器返回的登录成功的会话COOKIE进行保存;
当需要将所述微博账号登录到所述微博平台时,通过所述会话COOKIE直接登录到所述微博平台的服务器。
8.一种舆情数据分析方法,其特征在于,包括:
通过如权利要求1-7任一项所述的方法获取微博数据;
根据预定规则对获取的微博数据进行分析,获得包括舆情的分析结果。
9.一种微博数据获取装置,其特征在于,包括:
微博登录模块,用于采用模拟用户登录的方式利用注册的至少一个微博账号登录到微博平台;
微博内容获取模块,用于基于关注-分组的方式分别接收所述至少一个微博账号的每个预先设定的组内关注好友所发布的微博内容;
微博内容存储模块,用于将所述微博内容存储到存储***中;
其中所述设定的组内关注好友为预先指定的微博账号,或者是根据进行舆情分析的精度、舆情分析的目标领域、微博平台的用户数目限制、微博平台的访问频率限制和/或微博平台的关注数目限制至少一种因素,从所述微博平台中允许关注的微博账号中筛选获取的微博账号。
10.如权利要求9所述的微博数据获取装置,其特征在于,所述微博登录模块具体包括:
加密信息参数获取子模块,用于向所述微博平台的服务器发送所述微博账号的用户名,接收所述微博平台的服务器返回的用于加密信息的参数;
登录标志信息和地址获取子模块,用于使用RSA加密算法对所述微博账号的用户名和密码进行加密以获得所述微博账号登录成功与否的标志信息和登录地址;
成功会话获取子模块,用于向所述微博平台的服务器请求登录地址,对所述微博平台的服务器返回的登录成功的会话COOKIE进行保存;
直接登录子模块,用于当需要将所述微博账号登录到所述微博平台时,通过所述会话COOKIE直接登录到所述微博平台的服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510257947.5A CN104954234B (zh) | 2015-05-19 | 2015-05-19 | 一种微博数据获取方法、装置及舆情分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510257947.5A CN104954234B (zh) | 2015-05-19 | 2015-05-19 | 一种微博数据获取方法、装置及舆情分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104954234A CN104954234A (zh) | 2015-09-30 |
CN104954234B true CN104954234B (zh) | 2018-08-14 |
Family
ID=54168606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510257947.5A Expired - Fee Related CN104954234B (zh) | 2015-05-19 | 2015-05-19 | 一种微博数据获取方法、装置及舆情分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104954234B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105162697A (zh) * | 2015-10-30 | 2015-12-16 | 盐城工学院 | 一种微博***及其数据控制方法 |
CN107644021A (zh) * | 2016-07-20 | 2018-01-30 | 北大方正集团有限公司 | 信息采集方法和信息采集装置 |
CN106447488A (zh) * | 2016-09-07 | 2017-02-22 | 北京量科邦信息技术有限公司 | 一种通过技术手段提高催收效率的方法及*** |
CN107995092A (zh) * | 2016-10-27 | 2018-05-04 | 北京国双科技有限公司 | 处理网络社交平台发布的信息的方法及装置 |
CN108259574A (zh) * | 2017-12-26 | 2018-07-06 | 北京海杭通讯科技有限公司 | 一种个人自媒体***的建立方法及其智能终端 |
CN110417710B (zh) * | 2018-04-27 | 2022-05-17 | 腾讯科技(北京)有限公司 | 攻击数据捕获方法、装置及存储介质 |
CN109933701B (zh) * | 2019-03-08 | 2019-12-31 | 四川大学 | 一种基于多策略融合的微博数据获取方法 |
CN110569490A (zh) * | 2019-07-23 | 2019-12-13 | 福建奇点时空数字科技有限公司 | 一种基于实体迭代的领域实体标注语料库构建方法 |
CN111131268A (zh) * | 2019-12-27 | 2020-05-08 | 南京邮电大学 | 一种基于微博平台的用户数据采集存储***及方法 |
CN111666268A (zh) * | 2020-05-20 | 2020-09-15 | 安徽火蓝数据有限公司 | 一种微博大数据舆情分析方法 |
CN112084390B (zh) * | 2020-09-07 | 2024-03-19 | 广东赛博威信息科技有限公司 | 一种电商平台中利用自动结构化爬虫搜索的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394798A (zh) * | 2011-11-16 | 2012-03-28 | 北京交通大学 | 一种基于多元特征的微博信息传播行为预测方法及*** |
CN103188347A (zh) * | 2013-03-15 | 2013-07-03 | 亿赞普(北京)科技有限公司 | 互联网事件分析方法与装置 |
CN103218412A (zh) * | 2013-03-26 | 2013-07-24 | 亿赞普(北京)科技有限公司 | 舆情信息处理方法与装置 |
-
2015
- 2015-05-19 CN CN201510257947.5A patent/CN104954234B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394798A (zh) * | 2011-11-16 | 2012-03-28 | 北京交通大学 | 一种基于多元特征的微博信息传播行为预测方法及*** |
CN103188347A (zh) * | 2013-03-15 | 2013-07-03 | 亿赞普(北京)科技有限公司 | 互联网事件分析方法与装置 |
CN103218412A (zh) * | 2013-03-26 | 2013-07-24 | 亿赞普(北京)科技有限公司 | 舆情信息处理方法与装置 |
Non-Patent Citations (3)
Title |
---|
一种基于模拟登录的微博数据采集方案;孙青云等;《计算机技术与发展》;20140331;第24卷(第3期);摘要,第1-2节,第4节 * |
微博意见领袖舆情监控***设计与实现;张辉响;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150415(第4期);摘要,第1.2.4节,第2.2.3节,第3.4.1节 * |
微博数据采集***的设计与实现;纪伟;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140515(第5期);图3-1,第3.3.1节 * |
Also Published As
Publication number | Publication date |
---|---|
CN104954234A (zh) | 2015-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104954234B (zh) | 一种微博数据获取方法、装置及舆情分析方法 | |
US10356094B2 (en) | Uniqueness and auditing of a data resource through an immutable record of transactions in a hash history | |
US20200236199A1 (en) | Creation, publication and display of content on a social media network | |
US10354083B2 (en) | Social network site including trust-based wiki functionality | |
CN104813305B (zh) | 在线视频内容的可跟踪共享 | |
US9177294B2 (en) | Social network site including invitation functionality | |
JP6837066B2 (ja) | 情報処理方法及びサーバ、コンピュータ記憶媒体 | |
CN102158468B (zh) | 一种在社交网络服务中分享和获取数据的方法 | |
US9424355B2 (en) | Systems and methods for coordinated content distribution | |
Lommatzsch et al. | Real-time recommendations for user-item streams | |
US10257315B2 (en) | Secure proxied data retrieval from third-party services | |
US20140201292A1 (en) | Digital business card system performing social networking commonality comparisions, professional profile curation and personal brand management | |
US20090276709A1 (en) | Method and apparatus for providing dynamic playlists and tag-tuning of multimedia objects | |
KR20160135858A (ko) | 온라인 소셜 네트워크 내 네트워크-인지 제품 시판 | |
KR20170129706A (ko) | 소셜 네트워킹 시스템을 통한 판매자와의 사용자 통신 | |
KR20170137939A (ko) | 개인화된 피드를 갖는 구독자 애플리케이션 및 사용자 프라이버시를 유지하면서 추천들을 제공하는 방법 | |
CN103838812A (zh) | 用于提供域名建议的***和方法 | |
Acker et al. | Tweets may be archived: civic engagement, digital preservation and Obama White House social media data | |
CN106233325A (zh) | 生成活动概要 | |
US9521034B2 (en) | Method and apparatus for generating resource address, and system thereof | |
Zhao et al. | Non-Markovian character in human mobility: Online and offline | |
Kleppe et al. | Analysing and understanding news consumption patterns by tracking online user behaviour with a multimodal research design | |
CN104657359B (zh) | 一种通过网址记录网页内容和式样的方法 | |
CN102902455A (zh) | 一种社交***的加关注方法 | |
Wang et al. | Enhancing internet-scale video service deployment using microblog-based prediction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180814 Termination date: 20210519 |
|
CF01 | Termination of patent right due to non-payment of annual fee |