CN105447067A - 一种社交媒体中热点微博数据的自适应取样方法 - Google Patents
一种社交媒体中热点微博数据的自适应取样方法 Download PDFInfo
- Publication number
- CN105447067A CN105447067A CN201410522753.9A CN201410522753A CN105447067A CN 105447067 A CN105447067 A CN 105447067A CN 201410522753 A CN201410522753 A CN 201410522753A CN 105447067 A CN105447067 A CN 105447067A
- Authority
- CN
- China
- Prior art keywords
- focus
- microblog data
- microblogging
- social media
- data
- 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
Abstract
本发明公开了一种社交媒体中热点微博数据的自适应取样方法,包括如下步骤:初步取样步骤:自动与社交媒体的数据接口建立通信,从社交媒体中获取一条以上微博数据;热点检测步骤:检测微博数据的属性,若微博转发量大于500次,则微博数据判定为热点微博数据,同时建立热点微博列表用于保存和监测热点微博数据;热点获取步骤:通过数据接口从社交媒体中获取热点微博列表中各热点微博数据的所有转发微博,构建热点微博数据的完整转发链。本发明可实时获取热点微博,能立即跟踪热点微博的转发,获取完整的热点微博转发链。
Description
技术领域
本发明属于数据库技术领域,尤其涉及一种社交媒体中热点微博数据的自适应取样方法。
背景技术
随着互联网的飞速发展,互联网变成了海量信息的载体,如何从这些数据中有挖掘出能被人们利用的信息变成了一个巨大的挑战。网络爬虫是一个能够自动爬取网页的程序,它是搜索引擎的一部分,从互联网爬取网页,为搜索引擎提供数据。传统爬虫指定若干个初始网页的URL开始抓取,在抓取网页的过程中,对所抓取网页进行初步解析,若发现当前页面上存在新的URL,就抽取出来并放入队列,直到程序满足结束条件停止。聚焦爬虫的爬取流程相对较为复杂,需要对网页进行解析,然后通过相关算法过滤掉与主题无关的链接,留下与主题有关的链接并将其放入URL队列中以等被待抓取。然后,将根据相关搜索算法从队列中选择要抓取的网页URL,以上步骤重复执行,直到程序满足结束条件停止。另外,系统将存储所有获取的网页数据,对其进行一定的分析和处理,并建立索引,以供将来的查询和检索;对于聚焦爬虫来说,这一过程所产生的分析结果还可以指引爬取程序爬取去定向爬取更有用的微博数据。
相对于通用网络爬虫,聚焦爬虫也存在以下问题需要解决:对抓取目标的描述和定义无法做到足够准确;不能保证对网页或数据分析的准确性和过滤信息的无用性;对URL的搜索策略还不够优秀,有待提升。
网页分析算法与URL搜索策略的制订依据抓取目标的描述和定义。而对网页抓取行为以及搜索引擎所提供的服务形式依据对网页的分析算法和URL队列的排序算法。这两个部分的算法又是密不可分的。
聚焦爬虫对抓取目标的描述可分为三种:基于目标网页特征、基于目标数据模式和基于领域概念。
基于目标网页特征爬虫的对象一般为网站和网页,对其数据进行抓取、存储并索引。可以采取根据种子样本的获取方式,该方式可分为:
(1)预先设定的初始抓取种子样本。
(2)预先设定的网页的分类目录和与分类目录对应的种子样本,如百度分类结构等。
(3)通过分析用户的上网行为来确定的抓取目标样本,可以采取以下两种方法。分别为:用户在浏览过程中主动标注过的抓取样本;通过分析用户日志来得到其访问模式以及相关样本。
但是由于微博数据量庞大,且微博数据更新速度极快,现有爬虫技术因需要人为设定和制定策略等因素,无法满足微博数据的高时效性要求。因此,亟需一种能够自适应爬取微博中最有议论价值、受用户转发度极高的微博数据的系统。
发明内容
本发明提出了一种社交媒体中热点微博数据的自适应取样方法,包括如下步骤:
初步取样步骤:自动与社交媒体的数据接口建立通信,从所述社交媒体中获取一条以上微博数据;
热点检测步骤:检测所述微博数据的属性,若所述微博转发量大于500次,则所述微博数据判定为热点微博数据,同时建立热点微博列表用于保存和监测所述热点微博数据;
热点获取步骤:通过所述数据接口从所述社交媒体中获取所述热点微博列表中各热点微博数据的所有转发微博,构建所述热点微博数据的完整转发链。
本发明提出的所述社交媒体中热点微博数据的自适应取样方法中,所述初步取样步骤中,自动与社交媒体的公共微博读取接口建立通信,实时获取所述社交媒体中的公共微博数据。
本发明提出的所述社交媒体中热点微博数据的自适应取样方法中,通过重复控制调用数据接口、改变爬取策略以及采用多线程爬取的方式调整对所述公共微博读取接口的访问频次。
本发明提出的所述社交媒体中热点微博数据的自适应取样方法中,所述初步取样步骤中,自动与社交媒体的用户微博读取接口建立通信,实时获取指定高活跃度用户发布的微博数据。
本发明提出的所述社交媒体中热点微博数据的自适应取样方法中,建立用户监控列表,所述用户监控列表用于记录并轮询高活跃度用户,当所述高活跃度用户发布微博数据时,通过所述用户微博读取接口实时获取所述微博数据。
本发明提出的所述社交媒体中热点微博数据的自适应取样方法中,所述热点检测步骤中,设定自动检测时间区间,当处于所述自动检测时间区间时,检测先前已获取的微博数据的属性。
本发明提出的所述社交媒体中热点微博数据的自适应取样方法中,设定时间界限,在所述热点微博列表中,若一条热点微博数据在所述时间界限内经检测未成为热点微博数据或者已获取所有转微博的,所述热点微博数据从所述热点微博列表中被移出。
本发明提出的所述社交媒体中热点微博数据的自适应取样方法中,所述时间上限为2天。
本发明的有益效果在于:
本发明自适应取样方法能够在第一时间获得最有用的热点微博数据。通过更新和监控用户监控列表和热点微博列表,能够24小时自动运行,无需手动操作,并能够根据不同的爬取任务自适应地调整访问频次,以达到较优的爬取效果。本发明可实时获取热点微博,能立即跟踪热点微博的转发,获取完整的热点微博转发链。
附图说明
图1是本发明社交媒体中热点微博数据的自适应取样方法的示意图。
图2是本发明实施例中模拟用户登录的示意图。
图3是本发明程序流程图。
图4是本发明实施例中热点微博取样数量的曲线图。
图5是热门微博转发链的可视化结果的示意图。
具体实施方式
结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
本发明社交媒体中热点微博数据的自适应取样方法主要包括如下步骤:
初步取样步骤:自动与社交媒体的数据接口建立通信,从社交媒体中获取一条以上微博数据。本发明主要获取两种微博数据,分别为公共微博数据和指定高活跃度用户的用户微博数据,这两种微博数据中含有热点微博数据的概率更高,以提高取样的效率。
热点检测步骤:检测微博数据的属性,所述微博转发量大于500次,则微博数据判定为热点微博数据,同时建立热点微博列表用于保存和监测热点微博数据。参阅图1,当判断为热点微博数据之后,在获取其转发微博的同时,亦将其存入热点微博列表中。
热点获取步骤:通过数据接口从社交媒体中获取热点微博列表中各热点微博数据的所有转发微博。获取转发微博可分为两种启动方式,分为自动监测方式和时间触发方式。参阅图1,自动监测方式即通过实时监测热点微博列表中是否产生新的转发微博,若产生则实时获取,可快速建立完整的微博转发链构。而时间触发方式则通过计时,当时间达到自动检测时间区间时,则对已获取的微博数据进行检测,以确认其中是否存在热点微博数据,若存在,则立即调用数据接口以构建热点微博数据的完整转发链。
关于热点微博列表的维护和更新,本发明设定了时间界限,在热点微博列表中,若一条热点微博数据在时间界限内经检测未成为热点微博数据或者已获取所有转微博的,热点微博数据从热点微博列表中被移出。该时间上限为2天。
以下结合实例对本发明自适应取样方法的各步骤做进一步说明。
(1)自动登录
大部分应用程序编程接口(ApplicationProgrammingInterface,API)的访问如发表微博、获取私信,关注都需要用户身份。目前微博开放平台用户身份鉴权有OAuth2.0和BasicOAuth(仅用于应用所属开发者调试接口)。OAuth2.0较1.0相比,整个授权验证流程更简单、更安全,也是未来最主要的用户身份验证和授权方式。
参阅图2,基于新浪微博API获取数据的前提是进行用户授权,并获得访问令牌accesstoken,然后才能通过调用新浪微博API获取数据。按照新浪微博的授权流程,用户需先登录,获得重定向的URL中的代码code,然后用code换取accesstoken,这个过程需要手动操作。这严重影响了爬取程序的自动化,所以本发明设计了模拟用户登录过程,由程序来自动解析并获取重定向后的URL中的code,然后自动调用微博接口换取accesstoken,至此自动授权完成,这种设计提高了系统的执行效率。
(2)获取最新公共微博数据与用户微博数据
登录后本发明将自动与公共微博读取接口建立连接。以新浪微博为例,调用新浪微博API的公共微博读取接口public_timeline。public_timeline该接口的作用是用于获取最新公共微博,通过调用该接口可随机返回最新的200条公共微博数据,返回结果非完全实时。这是爬取系统的主要入口之一,只有获取到公共微博数据后,才能对之进行初步的解析并进行后续微博维度的数据爬取。该爬取过程在建立连接后启动,并会根据当前爬取任务的不同,自适应地调整对API访问频次的占用,以达到相对较优的爬取效果。本发明通过重复控制调用数据接口、改变爬取策略以及采用多线程爬取的方式调整访问频次,例如重复控制调用数据接口的过程中,采取了间隔爬取和重复性判断的重复控制方法,以调整API的访问频次,达到更好的访问效果,同时,本发明采取回溯的爬取策略以及多线程的使用,在爬取过程中根据实际情况调整各个API的占比,从而达到更优的爬取效果。
此外,本发明还可调用社交媒体的用户微博读取接口。以新浪微博为例,调用新浪微博的用户微博读取接口user_timeline也是爬取系统的主入口之一。User_timeline接口的作用是用于获取用户发布的微博数据,从最新发布微博的开始,调用一次最多返回200条完整的微博数据。针对一个用户,最多只能获取最新的2000条微博数据。由于高活跃度用户发布热点微博数据的概率更高,因此获取指定的高活跃度用户(例如,各网络大V认证用户)发布的微博数据信息,是为微博维度的爬取提供数据。本发明进一步建立用户监控列表,更新并轮询其中各高活跃度用户发布的微博数据,一旦检测到这类用户发布的最新微博数据,立刻调用用户微博读取接口进行获取。采用这种方法,能在API访问频次的限制内,尽可能全的获取高活跃度用户的微博数据。
微博属性(Status)包含一条微博的基本信息。包括微博的创建时间、微博的ID、微博信息内容、微博作者的基本信息、被转发的原微博信息、微博的转发数、评论数等字段。得到微博的创建时间可分析该微博的时效价值;得到微博ID可以对数据进行微博维度的获取和分析;得到被转发的微博信息可以分析一个热点微博的根源,并从根源获取微博转发数据;得到微博的转发数可以分析该微博的热点程度。实体详细描述下:
表1微博属性中各基本信息的属性表
参阅图3,为了达到对微博数据进行实时爬取,本发明采用了多个任务并行爬取的方法,本实施例中共使用了五个线程,利用这五个线程对热点微博数据进行并行爬取介绍如下:
线程l:GetStatusById,该线程在代码开始运行时开启,实时获取3000个大V发的最新微博。在当前微博为热点微博时,开启线程4,获取当前热点微博的转发微博。在获取完转发微博之后,将该热点微博的Mid放在线程3中,实时获取该热点微博的转发微博。
线程2:GetPublicStatus,该线程在代码开始运行时开启,实时获取最新的公共微博。在当前微博为热点微博时,开启线程4,获取当前热点微博的转发微博。在获取完转发微博之后,将该热点微博的Mid放在线程3中,实时获取该热点微博的转发微博。
线程3:RealGetRepost,该线程在代码开始运行时开启,用于实时获取热点微博列表中热点微博的转发微博。该热点微博列表可设置热点微博的更新周期,例如本实施例中,热点微博列表中热点微博的持续周期为30天。
线程4:GetHotRepost,该线程在发现一个微博热点时开启,获取当前热点微博的转发微博。
线程5:RealDealMid,该线程在代码开始运行时开启,用于设定自动检测时间区间。例如本实施例中,在当前系统时间为凌晨00:00-01:00时,检测已获取微博是否已变为热点微博。若该微博已变成热点微博则开启线程4,用于获取当前热点的转发微博。
(3)构建热点转发链
本发明调用微博转发接口获取热点微博的转发微博。以新浪微博为例,微博转发接口repost_timeline用于获取热点微博的所有转发微博,通过调用可返回一条原创微博的最新转发微博,从最新的转发微博开始,调用一次最多只能获取200条完整的微博数据。针对于一条微博,最多能获取该微博最新2000条转发微博,为之后对热点数据的分析提供较全的数据。爬取热点微博的转发分为两部分,分别是条件触发微博转发和实时监测微博转发。一旦发现一条微博数据满足了热点的条件,就调用该接口获取该热点的所有转发微博,并将该微博放入热点微博列表中监测。如果热点微博列表中出现新的热点微博(以微博ID的形式表示),该系统就对这些热点进行实时监测,一旦发现热点有新的转发,就获取该转发。采取这样的框架,可以获取热点微博的所有转发微博,得到完整的转发链。
如图4所示,该曲线图是2014年马来西亚航空航班MH370事件后在新浪微博上热点微博的取样结果。从中可见,在马航事件的取样过程中,通过本发明中使用的回溯爬取的方法,比现有随机爬取的方法所得到的微博数据的数量高出一倍以上。详见图5,经本发明爬取后可知,该条热门微博数据在原微博处发生第一次“爆炸”,即在2014年3月11日至17日之间发生高数量转发并由此传播散开,随后在当年3月23日至3月27日之间又在发生了二次“爆炸”,说明该微博在经过名人大V转发之后,又被很多用户所关注转发,结合图4和图5可见本发明爬取后得到的转发链数量与高活跃度用户和热门微博数据的相关程度明显高于现有技术。经实践发现经本发明爬取所获得的高质量微博数据概率数量和比例都高于现有方法。与现有技术相比,本发明能够爬取事件热点微博的完整转发树,可完善的分析一条热门微博的整个传播过程。
本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。
Claims (8)
1.一种社交媒体中热点微博数据的自适应取样方法,其特征在于,包括如下步骤:
初步取样步骤:自动与社交媒体的数据接口建立通信,从所述社交媒体中获取一条以上微博数据;
热点检测步骤:检测所述微博数据的属性,若所述微博转发量大于500次,则所述微博数据判定为热点微博数据,同时建立热点微博列表用于保存和监测所述热点微博数据;
热点获取步骤:通过所述数据接口从所述社交媒体中获取所述热点微博列表中各热点微博数据的所有转发微博,构建所述热点微博数据的完整转发链。
2.如权利要求1所述的社交媒体中热点微博数据的自适应取样方法,其特征在于,所述初步取样步骤中,自动与社交媒体的公共微博读取接口建立通信,实时获取所述社交媒体中的公共微博数据。
3.如权利要求2所述的社交媒体中热点微博数据的自适应取样方法,其特征在于,通过重复控制调用数据接口、改变爬取策略以及采用多线程爬取的方式调整对所述公共微博读取接口的访问频次。
4.如权利要求1所述的社交媒体中热点微博数据的自适应取样方法,其特征在于,所述初步取样步骤中,自动与社交媒体的用户微博读取接口建立通信,实时获取指定高活跃度用户发布的微博数据。
5.如权利要求4所述的社交媒体中热点微博数据的自适应取样方法,其特征在于,建立用户监控列表,所述用户监控列表用于记录并轮询高活跃度用户,当所述高活跃度用户发布微博数据时,通过所述用户微博读取接口实时获取所述微博数据。
6.如权利要求1所述的社交媒体中热点微博数据的自适应取样方法,其特征在于,所述热点检测步骤中,设定自动检测时间区间,当处于所述自动检测时间区间时,检测先前已获取的微博数据的属性。
7.如权利要求1或6所述的社交媒体中热点微博数据的自适应取样方法,其特征在于,设定时间界限,在所述热点微博列表中,若一条热点微博数据在所述时间界限内经检测未成为热点微博数据或者已获取所有转微博的,所述热点微博数据从所述热点微博列表中被移出。
8.如权利要求7所述的社交媒体中热点微博数据的自适应取样方法,其特征在于,所述时间上限为2天,即所述热点微博列表中的一条热点微博数据在2天内经检测未成为热点微博数据或者已获取所有转微博的,该热点微博数据从所述热点微博列表中被移出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410522753.9A CN105447067A (zh) | 2014-09-30 | 2014-09-30 | 一种社交媒体中热点微博数据的自适应取样方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410522753.9A CN105447067A (zh) | 2014-09-30 | 2014-09-30 | 一种社交媒体中热点微博数据的自适应取样方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105447067A true CN105447067A (zh) | 2016-03-30 |
Family
ID=55557249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410522753.9A Pending CN105447067A (zh) | 2014-09-30 | 2014-09-30 | 一种社交媒体中热点微博数据的自适应取样方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105447067A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106970838A (zh) * | 2017-05-15 | 2017-07-21 | 杭州时趣信息技术有限公司 | 一种搜索引擎调用接口时线程的调度方法及装置 |
CN107995092A (zh) * | 2016-10-27 | 2018-05-04 | 北京国双科技有限公司 | 处理网络社交平台发布的信息的方法及装置 |
CN110020066A (zh) * | 2017-07-31 | 2019-07-16 | 北京国双科技有限公司 | 一种往爬虫平台注任务的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130254206A1 (en) * | 2012-03-20 | 2013-09-26 | Microsoft Corporation | Information Entropy-Based Sampling of Social Media |
CN104199974A (zh) * | 2013-09-22 | 2014-12-10 | 中科嘉速(北京)并行软件有限公司 | 一种面向微博的动态主题检测与演变追踪方法 |
-
2014
- 2014-09-30 CN CN201410522753.9A patent/CN105447067A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130254206A1 (en) * | 2012-03-20 | 2013-09-26 | Microsoft Corporation | Information Entropy-Based Sampling of Social Media |
CN104199974A (zh) * | 2013-09-22 | 2014-12-10 | 中科嘉速(北京)并行软件有限公司 | 一种面向微博的动态主题检测与演变追踪方法 |
Non-Patent Citations (3)
Title |
---|
HAIXIN MA等: "Towards modeling popularity of microblogs", 《FRONTIERS OF COMPUTER SCIENCE》 * |
MATTHEW HURST,ALEXEY MAYKOV: "Social Streams Blog Crawler", 《2009 IEEE 25TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING》 * |
李叶等: "面向社交数据流连续查询的基准评测", 《华东师范大学学报(自然科学版)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107995092A (zh) * | 2016-10-27 | 2018-05-04 | 北京国双科技有限公司 | 处理网络社交平台发布的信息的方法及装置 |
CN106970838A (zh) * | 2017-05-15 | 2017-07-21 | 杭州时趣信息技术有限公司 | 一种搜索引擎调用接口时线程的调度方法及装置 |
CN110020066A (zh) * | 2017-07-31 | 2019-07-16 | 北京国双科技有限公司 | 一种往爬虫平台注任务的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109325351B (zh) | 一种基于众测平台的安全漏洞自动化验证系统 | |
CN105930727B (zh) | 基于Web的爬虫识别方法 | |
CN103428196A (zh) | 一种基于url白名单的web应用入侵检测方法和装置 | |
CN105046150B (zh) | 防止sql注入的方法及系统 | |
CN101924757A (zh) | 追溯僵尸网络的方法和系统 | |
US20170053031A1 (en) | Information forecast and acquisition method based on webpage link parameter analysis | |
CN105760379B (zh) | 一种基于域内页面关联关系检测webshell页面的方法及装置 | |
CN109274632A (zh) | 一种网站的识别方法及装置 | |
CN102571487B (zh) | 基于多数据源分布式的僵尸网络规模测量及追踪方法 | |
CN108712426A (zh) | 基于用户行为埋点的爬虫识别方法及系统 | |
CN115134099B (zh) | 基于全流量的网络攻击行为分析方法及装置 | |
CN107145779B (zh) | 一种离线恶意软件日志的识别方法和装置 | |
CN109190368B (zh) | 一种sql注入检测装置及sql注入检测方法 | |
CN104580249A (zh) | 一种基于日志的僵木蠕网络分析方法和系统 | |
CN105376217B (zh) | 一种恶意跳转及恶意嵌套类不良网站的自动判定方法 | |
CN107463839A (zh) | 一种管理应用程序的系统和方法 | |
CN110708339B (zh) | 一种基于web日志的关联分析方法 | |
CN114244564B (zh) | 攻击防御方法、装置、设备及可读存储介质 | |
CN107360155A (zh) | 一种基于威胁情报和沙箱技术的网络攻击自动溯源方法和系统 | |
CN103312692B (zh) | 链接地址安全性检测方法及装置 | |
CN108319672A (zh) | 基于云计算的移动终端不良信息过滤方法及系统 | |
CN107800686A (zh) | 一种钓鱼网站识别方法和装置 | |
CN110519263A (zh) | 防刷量方法、装置、设备及计算机可读存储介质 | |
CN105447067A (zh) | 一种社交媒体中热点微博数据的自适应取样方法 | |
CN106650454A (zh) | 一种sql注入攻击检测方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160330 |
|
WD01 | Invention patent application deemed withdrawn after publication |