CN104063448B - 一种视频领域相关的分布式微博数据抓取系统 - Google Patents
一种视频领域相关的分布式微博数据抓取系统 Download PDFInfo
- Publication number
- CN104063448B CN104063448B CN201410271438.3A CN201410271438A CN104063448B CN 104063448 B CN104063448 B CN 104063448B CN 201410271438 A CN201410271438 A CN 201410271438A CN 104063448 B CN104063448 B CN 104063448B
- Authority
- CN
- China
- Prior art keywords
- user
- grabber
- video
- node
- 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.)
- Active
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/73—Querying
- G06F16/735—Filtering based on additional data, e.g. user or group profiles
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)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种视频领域相关的分布式微博数据抓取系统,该系统包括视频网站抓取子系统、微博用户名匹配子系统及微博数据抓取子系统,本发明使用对整个分布式系统中的抓取器节点进行管理和监控,在页面解析过程中,构建解析方法库,解决了因视频网站页面结构变化导致的完全重写解析器的问题。在更新控制中,使用视频热度模型来控制视频网页的解析频次,使用基于PageRank的微博用户影响力模型来控制微博用户数据抓取的频次。在微博数据抓取过程中引入了LDA模型构建微博用户的主题模型,从而对特定领域的微博用户进行过滤。本发明极大的提高了抓取海量视频领域微博数据的效率和稳定性。
Description
技术领域
本发明涉及数据挖掘技术领域,具体地说是一种视频领域相关的分布式微博数据抓取系统。
背景技术
随着社交网络的快速发展,类似微博的社交工具已经深入到人们生活的方方面面,同时网络视频的发展也使得更多的人会在互联网上观看视频,两者结合起来的结果就是出现这样的现象:越来越多的用户在视频网站上看完视频后会到微博上去发表与该视频相关的博文。建立视频领域相关的微博数据集对于用户了解视频的内容和评价以及研究人员针对视频领域的文本的研究分析会有很大的帮助。
传统的爬虫的目标是尽可能地采集信息页面,并不关心采集的页面是否符合特定的主题,同时对页面数据的更新也不会根据一些条件加以区分。这样一方面导致了大量的系统资源和网络带宽浪费在抓取与主题无关的页面上,同时由于对所有页面一视同仁,而没有考虑页面本身的更新频率,同样浪费了大量的资源。在海量数据的情况下,传统的分布式爬虫虽然通过分布式解决了节点扩展的问题,但是对于抓取特定领域的数据没有给出有效的方法,对页面的内容更新频率不加区分,也造成了大量重复页面的抓取,降低了分布式为海量数据的抓取带来的效率上的提升。
发明内容
本发明的目的是针对海量数据情况下特定领域微博数据抓取现有技术的缺陷而提出的一种视频领域相关的分布式微博数据抓取系统,该系统可以快速有效的抓取到大量的视频及与之相关的微博数据。
实现本发明目的的具体技术方案是:
一种视频领域相关的分布式微博数据抓取系统,该系统包括视频网站抓取子系统、微博用户名匹配子系统及微博数据抓取子系统,首先通过视频网站抓取子系统,得到与视频相关视频、演员和导演名称实体名和播放量、评论量和收藏量的统计数据,通过分析这些统计数据,得到视频的热门程度,针对不同的热门程度视频相关数据的抓取设置不同的抓取频率;接着通过微博用户名匹配子系统将这些实体名与微博名进行匹配,得到微博用户种子集;最后通过微博数据抓取子系统,在微博用户种子集的基础上,通过微博开放平台关注关系API抓取与种子用户关系在三层以内的所有用户作为候选用户集合,同时通过微博用户博文API获取用户博文和用户信息,一方面使用用户博文构建用户主体模型,对用户进行主题过滤,留下与视频相关的用户作为最后的用户集合,另一方面使用微博用户相关的统计信息计算用户影响力,针对不同影响力程度的用户设置不同的抓取频率。
所述视频网站抓取子系统为一种可动态扩展节点与负载均衡的分布式系统,包括服务器配置及抓取器结构,其中:所述服务器配置包括:
参数设置:通过一个配置服务器来提供抓取器节点的参数配置的设置,并在抓取器向服务器发送参数配置请求时,根据抓取器的唯一编号(MAC_ID)返回该抓取器的配置信息;
节点扩展:当增加抓取节点时,配置服务器接收到该节点通过socket协议发送过来的添加抓取节点的命令(ADD_CRAWLER),配置服务器向配置信息数据中添加一条记录,并将运行的抓取器节点的总数加1;
异常监控:每个抓取器节点每隔一段时间(5分钟)向配置服务器发送表示此抓取器节点正在正常运行的命令(RUNNING),配置服务器在抓取器节点状态列表中记录每个抓取器节点的ID和对应的最后收到该节点发出表示正在正常运行的命令的时间;配置服务器每隔一段时间(10分钟)会遍历抓取器节点状态列表,如果某个抓取器节点最后发出表示正在正常运行的命令到当前时间的时间间隔大于10分钟,则表示该抓取器已出现异常,配置服务器将运行的抓取器的总数减1;
负载均衡:各个抓取器完成的任务相同,抓取器上的负载指的是配置服务器分配到各个抓取器上要抓取视频数量的多少;负载均衡涉及到两个阶段;第一个阶段为数据的分发;数据分为两类:电影和电视剧;电视剧因为包含的集数多,因此要和电影独立开来;数据分发的过程是将电影和电视的唯一编码(URL)通过一种均匀的散列函数映射到正在运行的抓取器节点的MAC_ID上,从而抓取器在运行时能够通过MAC_ID来获取要抓取的电影和电视剧列表;第二阶段,在一次的数据抓取完成之后,通过记录下的抓取器抓取的开始和结束时间,计算所有抓取器完成一次抓取所需要的时间,当下次有新的需要抓取的视频加入到列表中时,按照各个抓取器上次记录下的抓取一次所需时间的比例将这些新的电影和电视剧分配到各个抓取器节点;
更新控制:针对视频热门程度的不同,采用不同的抓取频率;获取到所有视频的统计数据之后,通过视频的播放量、评论量和收藏量计算视频的热门指数,按照热门指数将视频分为三个等级,三个等级的更新频率分别为:1次/1天,1次/3天,1次/7天;使用更新控制器来设置视频对应的链接在网页解析器下的解析频率;同时,更新控制器中热门指数的计算频率设定为每周一次;
所述抓取器结构:每个抓取器节点包括链接抓取器、网页解析器、数据存储器和更新控制器,其中:
所述链接抓取器,按照广度遍历算法对整个视频网站进行扫描,获取满足条件的网页的链接,并将这些链接存储在链接数据库中;同时,为数据库中每个链接添加是否已被访问的标识,如果某个链接已被其中一个节点访问过,则其他则跳过该节点,获取下一个链接,如果此链接未被访问,则访问该页面并将该网页中包含的属于本网站的链接加入到链接数据库中;所述满足要求的网页指含有导演、演员基本信息和视频播放、评分数据的网页;
所述网页解析器,从数据存储器中获取所有满足的链接,加载链接对应的网页,然后进行网页的解析,得到所需的视频数据;构建解析方法库,如果链接没有标明解析的方法,则遍历每一种方法解析每个链接,当链接被成功解析时,将该链接的解析方法标记为该方法,如果已经标明了解析方法的链接在使用该方法解析失败时,则向解析方法库中添加新的解析方法;
所述数据存储器,用于存储视频链接列表、视频基本信息和统计数据、解析方法库数据;
所述更新控制器,根据数据库中存储的视频链接列表中每条链接的更新频率,使用定时任务控制网页解析器解析网页的频率。
所述微博用户名匹配子系统包括查找模块及过滤模块,其中:
所述查找模块,在视频网站抓取结束之后,得到与视频相关视频、演员和导演名称的实体名,将这些视频名与海量的微博用户名进行匹配,找出对应的微博名;查找的过程按照条件严格程度的不同分为三个步骤:
步骤1:严格按照视频名、演员和导演名来查找微博用户;
步骤2:使用一些关键词来给视频名、演员和导演名加上前缀和后缀,然后严格按照加了前缀或后缀的词查找微博用户;其中,所述关键词为电影、电视剧、演员和导演;
步骤3:使用视频名、演员和导演名进行模糊查找;
所述过滤模块,通过查找模块步骤2获取到的用户可以确定为视频领域的用户,其他用户则主要基于主题过滤,通过主题模型构建所有用户的主题分布,选取与视频主题概率大的用户作为种子用户;构建主题模型的过程如下:
步骤1:获取查找到的所有用户的博文,将每个用户的所有博文作为一篇文档,使用LDA算法进行训练,得到每个用户的主题分布;
步骤2:选取每个用户主题分布下概率值最大的N个主题(N取5),采用语义相似度计算这N个主题每个主题下的前M个词(M取20)与视频的语义相似度之和,如果这个值小于一定的阈值则过滤掉该用户。
所述微博用户名匹配子系统为一种可动态扩展节点的分布式系统,该系统包括服务器配置及抓取器结构,其中,所述服务器配置包括:
参数设置:通过一个配置服务器来提供抓取器节点的参数配置的设置,并在抓取器向服务器发送参数配置请求时,根据抓取器的唯一编号(MAC_ID)返回该抓取器的配置信息;
扩展节点:当增加抓取器节点时,配置服务器会接收到该节点通过socket协议发送过来的添加抓取器节点的命令(ADD_CRAWLER),配置服务器向配置信息数据中添加一条记录,并将总运行的抓取器的数量加1;
异常监控:每个抓取器节点每隔一段时间(5分钟)向配置服务器发送表示此抓取器节点正在正常运行的命令(RUNNING);配置服务器在抓取器节点状态列表中记录每个抓取器节点的ID和对应的最后收到该节点发出表示正在正常运行的命令的时间;配置服务器每隔一段时间(10分钟)会遍历抓取器节点状态列表,如果某个抓取器节点最后发出表示正在正常运行的命令到当前时间的时间间隔大于10分钟,则表示该抓取器已出现异常,配置服务器将运行的抓取器的总数减1;
更新控制:采用依据用户活跃度和影响力的更新来控制抓取频率;用户活跃度的计算基于用户原创微博和转发微博的发布频率,用户影响力的计算基于加入权重的PageRank算法;按照用户影响力将所有用户分为三个级别,设定不同的更新频率,分别为:1次/1天,1次/3天,1次/7天;将用户影响力的计算频率设为每周一次;
加入权重的PageRank算法,通过用户之间的粉丝和关注关系构建用户关系网,将微博用户看作网络中的节点,用户之间的粉丝与关注关系看作节点之间的边;微博用户的影响力计算通过改进的PageRank算法获取;改进的PageRank算法加入了用户自身因素的影响;其中,所述用户自身因素的影响为用户微博数、用户粉丝数、用户的活跃度、用户微博的传播能力、用户粉丝的影响力;
所述抓取器结构:每个抓取器节点包括微博用户集合抓取器、用户数据抓取器、数据存储器、用户过滤器和更新控制器,其中:
所述微博用户集合抓取器,将微博用户名匹配子系统中得到的微博用户作为种子用户,通过微博用户关系API获取这些用户关注的用户,并将这些新的用户加入到用户集合中;
所述用户数据抓取器,首先从用户集合得到用户列表,使用HASH函数将用户ID映射到0到节点数目之间的整数,如果该整数为当前节点,这样每个用户的数据抓取就被分配到该节点上,同时对该用户ID取余,将其分配到线程ID与余数相等的线程上进行抓取;接着,通过微博API抓取用户的基本信息和博文数据;
所述数据存储器,进行用户集合、用户基本信息和博文数据的存储;
所述用户过滤器,过滤掉与视频领域相关性小于一定阈值的微博用户;
所述更新控制器,根据用户集合中存储每个用户的数据更新频率,使用定时器来设置用户数据抓取器对每个用户的抓取频率。
本发明使用视频热度模型来控制视频网页的解析频次,使用基于PageRank的微博用户影响力模型来控制微博用户数据抓取的频次。同时引入了LDA模型构建微博用户的主题模型,对特定领域的微博用户进行过滤,有助于方便快捷的抓取到大量的与所给领域相关的数据。
附图说明
图1为本发明结构框图;
图2为本发明实施例的视频网站抓取子系统结构框图;
图3为本发明实施例的微博用户名匹配子系统结构框图;
图4为本发明实施例的微博数据抓取子系统结构框图。
具体实施方案
下面结合附图详细说明本发明的实施例。
实施例
参阅图1,本发明包括视频网站抓取子系统、微博用户名匹配子系统及微博数据抓取子系统。视频网站抓取子系统抓取视频网站上的视频数据,将这些数据存储到数据存储器中,微博用户名匹配子系统从数据存储器的视频数据中抽取出包含视频名、导演名和演员名的实体名,通过查找和过滤两个过程之后,得到微博用户种子集,最后微博数据抓取子系统在微博用户种子集的基础上抓取更多的微博用户,并抓取这些用户的基本信息和博文数据,对这些用户进行过滤后得到最终的用户集合,最终用户集合的微博数据即为本发明所要抓取的视频领域微博数据。
参阅图2,视频网站抓取子系统由两部分构成:视频网站抓取器和配置服务器中的视频热度计算模块。视频网站抓取器包括链接抓取器,页面解析器、数据存储器和更新控制器;链接抓取器根据给定的种子链接,采用广度遍历的方式对视频网站进行遍历,将遍历得到的链接使用数据存储器存入到数据库中,如果某个链接被分布式系统中的某个抓取器节点抓取过则将此URL标记为已抓取,其他抓取器节点不再获取这条URL。
页面解析器加载通过HASH函数映射到此抓取节点上链接,对网页进行解析,提取出视频基本信息和视频播放信息,通过数据存储器进行存储。
配置服务器中的视频热度计算模块从数据库中查询出每个视频的播放数据包括播放量、播放日增量、评论数、日增评论数、收藏数和日增评论数,通过这些数据计算视频的热度,通过热度值的大小,分别给每部视频增加热度值分类字段,热度值在0到0.3之间的值为0,热度值在0.3到0.6之间的值为1,热度值在0.7到1之间的值为2,,将通过数据存储器对数据库中的数据进行更新。视频热度计算模块计算视频热度的频率为1次/15天。
更新控制器获取视频热度值分类,按照如下规则控制页面解析器对页面的解析频率,热度值标签0、1、2对应的控制机制依此为:1次/1天,1次/3天,1次/7天。
参阅图3,微博用户名匹配子系统属于配置服务器的一部分,首先从数据库中抽取出视频的实体名集合,包括视频名、演员名和导演名。这些实体名通过微博用户名查找模块找到符合规则的候选微博用户集合,再通过微博用户过滤模块过滤不属于视频领域的微博用户。
候选用户集模块通过三种方式来产生候选用户集。第一种方式按照实体名进行全匹配查询,第二种方式为实体名加上前缀和后缀,按照修改后的实体名进行全匹配查询,第三种方式按照实体名进行模糊匹配。
微博用户过滤模块将每个用户的微博作为一个文档,使用所有文档训练LDA主题模型,得到每个文档的主题分布即每个用户的主题分布。选取每个用户主题分布下概率值最大的N个主题(N取5),采用语义相似度计算这N个主题每个主题下的前M个词与视频的语义相似度(M取20)之和,如果这个值小于一定的阈值则过滤掉该用户。
参阅图4,微博数据抓取子系统有两部分构成:微博抓取器和配置服务器中的微博用户影响力计算模块。微博抓取器包括用户集合抓取器、用户数据抓取器、数据存储器、用户过滤器和更新控制器。
在微博种子用户集合的基础上,通过用户集合抓取器,获取用户的关注列表构建新的微博用户集合,在获取了大量的微博用户之后,用户数据抓取器负责抓取用户基本信息和博文数据。接着,通过博文数据构建LDA模型。对用户集合进行过滤,得到与视频领域相关的微博用户。配置服务器的用户影响力计算模块使用PageRank算法计算微博用户的影响力,按影响力的值将用户分为3类:活跃、一般和不活跃,通过数据存储器将每个用户的影响力分类更新到数据库中。微博抓取器中的更新控制获取每个用户的影响力分类,以此控制用户数据抓取器对用户基本信息和博文数据的抓取频率。
微博种子用户集合中的用户的ID经过HASH函数映射后的值与当前微博抓取器的ID相等用户,则该微博抓取器的用户集合抓取器通过微博API获取到当前用户的关注列表用户ID集合,加入到微博用户集合中,并使用数据存储器进行存储。
微博用户集合中的用户的ID经过HASH函数映射后的值与当前微博抓取器的ID相等,则当前微博抓取器的用户数据抓取器通过微博API获取当前用户的基本信息和所有博文数据,并通过数据存储器进行存储。
配置服务器的用户影响力计算模块从数据库中获取用户的关注关系构建用户关系图,边的两端为用户,边的权值通过用户粉丝数、用户微博数、用户转发和评论微博数等计算得到,在用户关系图上使用PageRank算法得到用户影响力排名。影响力的计算的频率设置为每周一次。
更新控制器使用用户影响力的排名来对用户在用户数据抓取器的抓取频率进行控制。按照用户影响力将所有用户分为三个级别,设定不同的更新频率,分别为:1次/1天,1次/3天,1次/7天。
用户数据抓取器抓取到的用户博文数据使用LDA主题模型构建用户主题分布。选取每个用户主题分布下概率值最大的N个主题(N取5),采用语义相似度计算这N个主题每个主题下的前M个词与视频的语义相似度(M取20)之和,如果这个值小于一定的阈值则过滤掉该用户。
Claims (3)
1.一种视频领域相关的分布式微博数据抓取系统,其特征在于该系统包括视频网站抓取子系统、微博用户名匹配子系统及微博数据抓取子系统,首先通过视频网站抓取子系统,得到与视频相关的视频、演员和导演名称实体名和播放量、评论量和收藏量的统计数据,通过分析这些统计数据,得到视频的热门程度,针对不同的热门程度视频相关数据的抓取设置不同的抓取频率;接着通过微博用户名匹配子系统将这些实体名与微博名进行匹配,得到微博用户种子集;最后通过微博数据抓取子系统,在微博用户种子集的基础上,通过微博开放平台关注关系API抓取与种子用户关系在三层以内的所有用户作为候选用户集合,接着通过微博用户博文API获取用户博文和用户信息,一方面使用用户博文构建用户主体模型,对用户进行主题过滤,留下与视频相关的用户作为最后的用户集合,另一方面使用微博用户相关的统计信息计算用户影响力,针对不同影响力程度的用户设置不同的抓取频率;其中:
所述视频网站抓取子系统为一种可动态扩展节点与负载均衡的分布式系统,包括服务器配置及抓取器结构,其中:所述服务器配置包括:
参数设置:通过一个配置服务器来提供抓取器节点的参数配置的设置,并在抓取器向服务器发送参数配置请求时,根据抓取器的唯一编号MAC_ID返回该抓取器的配置信息;
节点扩展:当增加抓取节点时,配置服务器接收到该节点通过socket协议发送过来的添加抓取节点的命令即ADD_CRAWLER,配置服务器向配置信息数据中添加一条记录,并将运行的抓取器节点的总数加1;
异常监控:每个抓取器节点每隔一段时间向配置服务器发送表示此抓取器节点正在正常运行的命令即RUNNING,配置服务器在抓取器节点状态列表中记录每个抓取器节点的ID和对应的最后收到该节点发出表示正在正常运行的命令的时间;配置服务器每隔一段时间会遍历抓取器节点状态列表,如果某个抓取器节点最后发出表示正在正常运行的命令到当前时间的时间间隔大于10分钟,则表示该抓取器已出现异常,配置服务器将运行的抓取器的总数减1;
负载均衡:各个抓取器完成的任务相同,抓取器上的负载指的是配置服务器分配到各个抓取器上要抓取视频数量的多少;负载均衡涉及到两个阶段;第一个阶段为数据的分发;数据分为两类:电影和电视剧;电视剧因为包含的集数多,因此要和电影独立开来;数据分发的过程是将电影和电视的唯一编码即URL通过一种均匀的散列函数映射到正在运行的抓取器节点的MAC_ID上,从而抓取器在运行时能够通过MAC_ID来获取要抓取的电影和电视剧列表;第二阶段,在一次的数据抓取完成之后,通过记录下的抓取器抓取的开始和结束时间,计算所有抓取器完成一次抓取所需要的时间,当下次有新的需要抓取的视频加入到列表中时,按照各个抓取器上次记录下的抓取一次所需时间的比例将这些新的电影和电视剧分配到各个抓取器节点;
更新控制:针对视频热门程度的不同,采用不同的抓取频率;获取到所有视频的统计数据之后,通过视频的播放量、评论量和收藏量计算视频的热门指数,按照热门指数将视频分为三个等级,三个等级的更新频率分别为:1次/1天,1次/3天,1次/7天;使用更新控制器来设置视频对应的链接在网页解析器下的解析频率;同时,更新控制器中热门指数的计算频率设定为每周一次;
所述抓取器结构:每个抓取器节点包括链接抓取器、网页解析器、数据存储器和更新控制器,其中:
所述链接抓取器,按照广度遍历算法对整个视频网站进行扫描,获取满足条件的网页的链接,并将这些链接存储在链接数据库中;同时,为数据库中每个链接添加是否已被访问的标识,如果某个链接已被其中一个节点访问过,则其他则跳过该节点,获取下一个链接,如果此链接未被访问,则访问该页面并将该网页中包含的属于本网站的链接加入到链接数据库中;所述满足要求的网页指含有导演、演员基本信息和视频播放、评分数据的网页;
所述网页解析器,从数据存储器中获取所有满足的链接,加载链接对应的网页,然后进行网页的解析,得到所需的视频数据;构建解析方法库,如果链接没有标明解析的方法,则遍历每一种方法解析每个链接,当链接被成功解析时,将该链接的解析方法标记为该方法,如果已经标明了解析方法的链接在使用该方法解析失败时,则向解析方法库中添加新的解析方法;
所述数据存储器,用于存储视频链接列表、视频基本信息和统计数据、解析方法库数据;
所述更新控制器,根据数据库中存储的视频链接列表中每条链接的更新频率,使用定时任务控制网页解析器解析网页的频率。
2.根据权利要求1所述的抓取系统,其特征在于所述微博用户名匹配子系统包括查找模块及过滤模块,其中:
所述查找模块,在视频网站抓取结束之后,得到与视频相关视频、演员和导演名称的实体名,将这些视频名与海量的微博用户名进行匹配,找出对应的微博名;查找的过程按照条件严格程度的不同分为三个步骤:
步骤1:严格按照视频名、演员和导演名来查找微博用户;
步骤2:使用一些关键词来给视频名、演员和导演名加上前缀和后缀,然后严格按照加了前缀或后缀的词查找微博用户;其中,所述关键词为电影、电视剧、演员和导演;
步骤3:使用视频名、演员和导演名进行模糊查找;
所述过滤模块,通过查找模块步骤2获取到的用户可以确定为视频领域的用户,其他用户则基于主题过滤,通过主题模型构建所有用户的主题分布,选取与视频主题语义相似度大的用户作为种子用户;构建主题模型的过程如下:
步骤1:获取查找到的所有用户的博文,将每个用户的所有博文作为一篇文档,使用LDA算法进行训练,得到每个用户的主题分布;
步骤2:选取每个用户主题分布下概率值最大的N个主题,采用语义相似度计算这N个主题每个主题下的前M个词与视频的语义相似度之和,如果这个值小于一定的阈值则过滤掉该用户。
3.根据权利要求1所述的抓取系统,其特征在于所述微博用户名匹配子系统为一种可动态扩展节点的分布式系统,该系统包括服务器配置及抓取器结构,其中,所述服务器配置包括:
参数设置:通过一个配置服务器来提供抓取器节点的参数配置的设置,并在抓取器向服务器发送参数配置请求时,根据抓取器的唯一编号MAC_ID返回该抓取器的配置信息;
扩展节点:当增加抓取器节点时,配置服务器会接收到该节点通过socket协议发送过来的添加抓取器节点的命令即ADD_CRAWLER,配置服务器向配置信息数据中添加一条记录,并将总运行的抓取器的数量加1;
异常监控:每个抓取器节点每隔一段时间向配置服务器发送表示此抓取器节点正在正常运行的命令即RUNNING;配置服务器在抓取器节点状态列表中记录每个抓取器节点的ID和对应的最后收到该节点发出表示正在正常运行的命令的时间;配置服务器每隔一段时间会遍历抓取器节点状态列表,如果某个抓取器节点最后发出表示正在正常运行的命令到当前时间的时间间隔大于10分钟,则表示该抓取器已出现异常,配置服务器将运行的抓取器的总数减1;
更新控制:采用依据用户活跃度和影响力的更新来控制抓取频率;用户活跃度的计算基于用户原创微博和转发微博的发布频率,用户影响力的计算基于加入权重的PageRank算法;按照用户影响力将所有用户分为三个级别,设定不同的更新频率,分别为:1次/1天,1次/3天,1次/7天;将用户影响力的计算频率设为每周一次;
加入权重的PageRank算法,通过用户之间的粉丝和关注关系构建用户关系网,将微博用户看作网络中的节点,用户之间的粉丝与关注关系看作节点之间的边;微博用户的影响力计算通过改进的PageRank算法获取;改进的PageRank算法加入了用户自身因素的影响;其中,所述用户自身因素的影响为用户微博数、用户粉丝数、用户的活跃度、用户微博的传播能力、用户粉丝的影响力;
所述抓取器结构:每个抓取器节点包括微博用户集合抓取器、用户数据抓取器、数据存储器、用户过滤器和更新控制器,其中:
所述微博用户集合抓取器,将微博用户名匹配子系统中得到的微博用户作为种子用户,通过微博用户关系API获取这些用户关注的用户,并将这些新的用户加入到用户集合中;
所述用户数据抓取器,首先从用户集合得到用户列表,使用HASH函数将用户ID映射到0到节点数目之间的整数,如果该整数为当前节点,这样每个用户的数据抓取就被分配到该节点上,同时对该用户ID取余,将其分配到线程ID与余数相等的线程上进行抓取;接着,通过微博API抓取用户的基本信息和博文数据;
所述数据存储器,进行用户集合、用户基本信息和博文数据的存储;
所述用户过滤器,过滤掉与视频领域相关性小于一定阈值的微博用户;
所述更新控制器,根据用户集合中存储每个用户的数据更新频率,使用定时器来设置用户数据抓取器对每个用户的抓取频率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410271438.3A CN104063448B (zh) | 2014-06-18 | 2014-06-18 | 一种视频领域相关的分布式微博数据抓取系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410271438.3A CN104063448B (zh) | 2014-06-18 | 2014-06-18 | 一种视频领域相关的分布式微博数据抓取系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104063448A CN104063448A (zh) | 2014-09-24 |
CN104063448B true CN104063448B (zh) | 2017-02-01 |
Family
ID=51551162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410271438.3A Active CN104063448B (zh) | 2014-06-18 | 2014-06-18 | 一种视频领域相关的分布式微博数据抓取系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104063448B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105912552A (zh) * | 2015-12-23 | 2016-08-31 | 乐视网信息技术(北京)股份有限公司 | 网页视频抓取的方法及网页视频抓取的终端设备 |
CN106126716A (zh) * | 2016-06-30 | 2016-11-16 | 北京奇艺世纪科技有限公司 | 一种数据爬取方法及装置 |
CN108536691A (zh) * | 2017-03-01 | 2018-09-14 | 中兴通讯股份有限公司 | 网页爬取方法和装置 |
CN108932244B (zh) * | 2017-05-24 | 2021-01-26 | 阿里巴巴(中国)有限公司 | 信息识别方法及装置 |
CN110020041B (zh) * | 2017-08-21 | 2021-10-08 | 北京国双科技有限公司 | 一种跟踪爬取过程的方法及装置 |
CN107800589A (zh) * | 2017-10-31 | 2018-03-13 | 普天东方通信集团有限公司 | 对云平台接入设备的监测方法、装置及其使用的云平台 |
CN109255037B (zh) * | 2018-08-31 | 2022-03-08 | 北京字节跳动网络技术有限公司 | 用于输出信息的方法和装置 |
CN110059240A (zh) * | 2019-03-20 | 2019-07-26 | 重庆邮电大学 | 一种基于影响等级的网络用户责任指数计算方法 |
CN110245025B (zh) * | 2019-05-20 | 2022-05-10 | 平安科技(深圳)有限公司 | 一种基于Actor模型的数据采集方法、装置及存储介质 |
CN110825972B (zh) * | 2019-11-12 | 2022-10-25 | 重庆邮电大学 | 一种基于领域差异化的热点话题关键用户发现方法 |
CN111460253A (zh) * | 2020-03-24 | 2020-07-28 | 国家电网有限公司 | 适用于大数据分析互联网数据抓取方法 |
CN111966733B (zh) * | 2020-08-18 | 2024-05-28 | 中国银行股份有限公司 | 热点知识生成方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102646129A (zh) * | 2012-03-09 | 2012-08-22 | 武汉大学 | 一种主题相关的分布式网络爬虫系统 |
CN103605670A (zh) * | 2013-10-29 | 2014-02-26 | 北京奇虎科技有限公司 | 一种用于确定网络资源点的抓取频率的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8745217B2 (en) * | 2011-07-20 | 2014-06-03 | Social Yantra Inc. | System and method for brand management using social networks |
-
2014
- 2014-06-18 CN CN201410271438.3A patent/CN104063448B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102646129A (zh) * | 2012-03-09 | 2012-08-22 | 武汉大学 | 一种主题相关的分布式网络爬虫系统 |
CN103605670A (zh) * | 2013-10-29 | 2014-02-26 | 北京奇虎科技有限公司 | 一种用于确定网络资源点的抓取频率的方法和装置 |
Non-Patent Citations (1)
Title |
---|
"微博爬虫的相关技术研究";罗一纾;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140315(第3期);第22页第3.3节,第36-37页第4.3节 * |
Also Published As
Publication number | Publication date |
---|---|
CN104063448A (zh) | 2014-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104063448B (zh) | 一种视频领域相关的分布式微博数据抓取系统 | |
Yu et al. | Summary of web crawler technology research | |
CN103297435B (zh) | 一种基于web日志的异常访问行为检测方法与系统 | |
CN104951539B (zh) | 互联网数据中心有害信息监测系统 | |
CN106484828B (zh) | 一种分布式互联网数据快速采集系统及采集方法 | |
CN101937469B (zh) | 视频网站的信息抓取方法 | |
CN107665191A (zh) | 一种基于扩展前缀树的私有协议报文格式推断方法 | |
CN103297503B (zh) | 基于分层次信息提取服务器的移动终端群智感知系统 | |
CN106096056A (zh) | 一种基于分布式的舆情数据实时采集方法和系统 | |
CN103218431A (zh) | 一种能识别网页信息自动采集的系统与方法 | |
CN102122291A (zh) | 一种基于树形日志模式分析的博客好友推荐方法 | |
CN105718587A (zh) | 一种网络内容资源评估方法及评估系统 | |
CN104899324B (zh) | 一种基于idc有害信息监测系统的样本训练系统 | |
CN105930363A (zh) | 一种基于html5网页的用户行为分析方法及装置 | |
CN101833587A (zh) | 网络视频搜索系统 | |
CN104298782B (zh) | 互联网用户主动访问行为轨迹的分析方法 | |
Wang et al. | A novel blockchain oracle implementation scheme based on application specific knowledge engines | |
CN104615627A (zh) | 一种基于微博平台的事件舆情信息提取方法及系统 | |
CN102946320A (zh) | 一种分布式用户行为日志预测网络监管方法及系统 | |
CN103559258A (zh) | 基于云计算的网页排序方法 | |
CN107784113A (zh) | Html网页数据采集方法、装置和计算机可读存储介质 | |
CN104077293A (zh) | 网页获取方法和装置 | |
Stermsek et al. | A User Profile Derivation Approach based on Log-File Analysis. | |
CN112256880A (zh) | 文本识别方法和装置、存储介质及电子设备 | |
CN103412903A (zh) | 基于兴趣对象预测的物联网实时搜索方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |