时效性种子页的抓取方法及装置制造方法

文档序号:6521981阅读:172来源:国知局
时效性种子页的抓取方法及装置制造方法
【专利摘要】本发明公开了一种时效性种子页的抓取方法及装置,其中方法包括:对于一时效性种子页,获取当前预设时间段内对所述种子页发起的每次抓取对应的频率调整因子,基于所述频率调整因子计算频率调整系数;确定与所述当前预设时间段存在对应关系的历史预设时间段的抓取频率;判断所述当前预设时间段是否属于节假日与工作日之间的切换时间,若是则根据节假日与工作日之间的切换情况确定节假日因子;根据所述抓取频率、所述频率调整系数以及节假日因子,动态调整所述当前预设时间段的抓取频率。根据本发明可以动态调整节假日因子、抓取频率,降低对种子页不必要的抓取,也能保证新链接被及时发现而不丢失。
【专利说明】时效性种子页的抓取方法及装置
【技术领域】
[0001]本发明涉及互联网【技术领域】,具体涉及一种时效性种子页的抓取方法及装置。
【背景技术】
[0002]互联网总是在不断产生新的内容,比如新闻、各种热门的讨论等等。这些新内容分散在互联网不同的角落,搜索引擎为了能及时对它们提供检索,需要从浩如烟海的互联网上及时把它们找到并抓取回来。幸运的是,指向时效性内容的链接几乎总是在一类特定的页面上出现,这类页面叫做时效性种子页(简称hub页),比如http://news.sina.com.cn/。所以理论上只需要找到这些hub页,然后及时检查它们的变化,便能把时效性链接全部找到。
[0003]hub页面的内容是在不断变化的,新链接出现一段时间后就很可能会消失。像论坛的版面,滚动非常快,新帖子要不了多久就沉下去了。如果不能及时发现它们的变化,就会导致新链接丢失。但是每检查一次页面,就需要发起一次抓取,假如搜索引擎不停地检查这类页面,则会对所属网站产生大量抓取。这种大量的抓取在很多情况下未必能发现新链接,造成大量无意义抓取,而且也是一种很不礼貌的行为,甚至会触发网站对搜索引擎爬虫的封禁,导致一段时间内爬虫无法访问网站。由于节假日与工作日上网人数的明显不同,网上的信息产生量也明显不同,所以如果搜索引擎在节假日与工作日保持相同的频率抓取就会造成一些新链接没有被抓取或者造成无意义抓取。
[0004]因此,既保证时效性新链接不丢失,又不会过度对网站进行访问,这是搜索引擎爬虫在时效性链接发现问题上期望达到的目标。

【发明内容】

[0005]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的时效性种子页的抓取装置和相应的抓取方法。
[0006]根据本发明的一个方面,提供了一种时效性种子页的抓取方法,包括:对于一时效性种子页,获取当前预设时间段内对所述种子页发起的每次抓取对应的频率调整因子,基于所述频率调整因子计算频率调整系数;确定与所述当前预设时间段存在对应关系的历史预设时间段的抓取频率;判断所述当前预设时间段是否属于节假日与工作日之间的切换时间,若是则根据节假日与工作日之间的切换情况确定节假日因子;根据所述抓取频率、所述频率调整系数以及节假日因子,动态调整所述当前预设时间段的抓取频率。
[0007]可选地,所述判断所述当前预设时间段是否属于节假日与工作日之间的切换时间进一步包括:若所述当前预设时间段属于工作日,而该工作日的前一日为节假日,则判定所述当前预设时间段属于节假日与工作日之间的切换时间;若所述当前预设时间段属于节假日,而该节假日的前一日为工作日,则判定所述当前预设时间段属于节假日与工作日之间的切换时间。
[0008]可选地,所述根据节假日与工作日之间的切换情况确定节假日因子进一步包括:若所述当前预设时间段属于工作日,而该工作日的前一日为节假日,则确定节假日因子为大于I的第一预定值;若所述当前预设时间段属于节假日,而该节假日的前一日为工作日,则确定节假日因子为小于I的第二预定值。
[0009]可选地,所述根据节假日与工作日之间的切换情况确定节假日因子进一步包括:通过在当前预设时间段之前若干次节假日与工作日之间切换时的抓取情况,动态调整所述节假日因子。
[0010]可选地,所述根据所述抓取频率、所述频率调整系数以及节假日因子,动态调整所述当前预设时间段的抓取频率具体为:将所述抓取频率、所述频率调整系数以及所述节假日因子的乘积作为动态调整后的所述当前预设时间段的抓取频率。
[0011]可选地,所述获取当前预设时间段内对所述种子页发起的每次抓取对应的频率调整因子具体为:对于发起的一次抓取,根据该次抓取是否发现新链接的结果确定该次抓取对应的频率调整因子。
[0012]可选地,所述对于发起的一次抓取,根据该次抓取是否发现新链接的结果确定该次抓取对应的频率调整因子具体包括:如果该次抓取发现新链接,则确定该次抓取对应的频率调整因子为大于I的第三预定值;如果该次抓取没有发现新链接,则确定该次抓取对应的频率调整因子为小于I的第四预定值。
[0013]可选地,所述获取当前预设时间段内对所述种子页发起的每次抓取对应的频率调整因子具体为:对于发起的一次抓取,根据该次抓取之前一段预设时间内发现新链接的次数与发起抓取的次数的比率确定该次抓取对应的频率调整因子。
[0014]可选地,所述当前预设时间段内对所述种子页已经发起的抓取次数为n ;所述基于所述频率调整因子计算频率调整系数具体为:计算n次抓取对应的频率调整因子的乘积作为所述频率调整系数。
[0015]可选地,所述方法方法还包括:如果所述历史预设时间段的抓取频率为无效值,则根据与所述历史预设时间段相邻的预设时间段的抓取频率、所述频率调整系数以及节假日因子,动态调整所述当前预设时间段的抓取频率。
[0016]可选地,所述方法进一步包括基于所述动态调整后的抓取频率在所述当前预设时间段中对所述种子页进行抓取。
[0017]根据本发明的另一方面,提供了一种时效性种子页的抓取装置,包括:获取模块,用于对于一时效性种子页,获取当前预设时间段内对所述种子页发起的每次抓取对应的频率调整因子;计算模块,用于基于所述频率调整因子计算频率调整系数;抓取频率确定模块,用于确定所述当前预设时间段存在对应关系的历史预设时间段的抓取频率;节假日因子确定模块,用于判断所述当前预设时间段是否属于节假日与工作日之间的切换时间,若是则根据节假日与工作日之间的切换情况确定节假日因子;调整模块,用于根据所述抓取频率、所述频率调整系数以及节假日因子,动态调整所述当前预设时间段的抓取频率。
[0018]可选地,所述节假日因子确定模块包括:
[0019]判断单元,用于若所述当前预设时间段属于工作日,而该工作日的前一日为节假日,则判定所述当前预设时间段属于节假日与工作日之间的切换时间;若所述当前预设时间段属于节假日,而该节假日的前一日为工作日,则判定所述当前预设时间段属于节假日与工作日之间的切换时间。[0020]可选地,所述节假日因子确定模块还包括:
[0021]节假日因子确定单元,用于若所述当前预设时间段属于工作日,而该工作日的前一日为节假日,则确定节假日因子为大于I的第一预定值;若所述当前预设时间段属于节假日,而该节假日的前一日为工作日,则确定节假日因子为小于I的第二预定值。
[0022]可选地,所述节假日因子确定模块还用于:通过在当前预设时间段之前若干次节假日与工作日之间切换时的抓取情况,动态调整所述节假日因子。
[0023]可选地,所述调整模块具体用于:将所述抓取频率、所述频率调整系数以及所述节假日因子的乘积作为动态调整后的所述当前预设时间段的抓取频率。
[0024]可选地,所述获取模块具体用于:对于发起的一次抓取,根据该次抓取是否发现新链接的结果确定该次抓取对应的频率调整因子。可选地,所述获取模块进一步用于:如果该次抓取发现新链接,则确定该次抓取对应的频率调整因子为大于I的第三预定值;如果该次抓取没有发现新链接,则确定该次抓取对应的频率调整因子为小于I的第四预定值。
[0025]可选地,所述获取模块具体用于:对于发起的一次抓取,根据该次抓取之前一段预设时间内发现新链接的次数与发起抓取的次数的比率确定该次抓取对应的频率调整因子。
[0026]可选地,所述当前预设时间段内对所述种子页已经发起的抓取次数为n ;所述计算模块具体用于:计算n次抓取对应的频率调整因子的乘积作为所述频率调整系数。
[0027]可选地,所述调整模块还用于:如果所述历史预设时间段的抓取频率为无效值,则根据与所述历史预设时间段相邻的预设时间段的抓取频率、所述频率调整系数以及所述节假日因子,动态调整所述当前预设时间段的抓取频率。
[0028]可选地,所述装置还包括:抓取器,用于基于所述动态调整后的抓取频率在所述当前预设时间段中对所述种子页进行抓取。
[0029]根据本发明提供的上述方案,对于一时效性种子页,通过获取当前预设时间段内对种子页发起的每次抓取对应的频率调整因子,基于频率调整因子计算频率调整系数,根据抓取频率以及频率调整系数,然后确定与当前预设时间段存在对应关系的历史预设时间段的抓取频率,判断当前预设时间段是否属于节假日与工作日之间的切换时间,若是则根据节假日与工作日之间的切换情况确定节假日因子,动态调整当前预设时间段的抓取频率。利用该方案,所得到的当前预设时间段的抓取频率与历史时间段的抓取频率和当前预设时间段已经发起的抓取情况有关,也就是说,当前预设时间段的抓取频率与两个维度的数据有关,分别为实时数据和历史数据。历史数据作为基点,不容易有偏差;实时数据反映了实时的情况,又能应对各种突发情况。而且本方案考虑到节假日与工作日的切换时间内网上信息的产生量会发生很大的变化,因此进一步引入了节假日因子,利用节假日因子调整抓取频率,准确性更高。本发明提供的方案能够降低对种子页不必要的抓取,也能保证新链接被及时发现而不丢失,更好地平衡了抓取次数与发现新链接之间的关系。
[0030]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【专利附图】

【附图说明】
[0031]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0032]图1示出了根据本发明一个实施例的时效性种子页的抓取方法的流程图;
[0033]图2示出了根据本发明另一个实施例的时效性种子页的抓取方法的流程图;
[0034]图3示出了根据本发明一个实施例的时效性种子页的抓取装置的结构示意图。
【具体实施方式】
[0035]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0036]图1示出了根据本发明一个实施例的时效性种子页的抓取方法的流程图。如图1所示,该方法包括如下步骤:
[0037]步骤S110,对于一时效性种子页,获取当前预设时间段内对种子页发起的每次抓取对应的频率调整因子,基于频率调整因子计算频率调整系数。
[0038]种子页是指包含时效性内容链接的页面,搜索引擎通过爬虫技术对该种子页进行抓取。当前预设时间段是指将一天所划分的若干个平均时间段,以一个预设时间段为单位I小时为例,如果当前时间为8:30,那么当前预设时间段就是8:00-8:59这个时间段,当前预设时间段内对种子页发起的抓取指的是8:00-8:30这段时间所发起的抓取,即已经发起的抓取。其中已经发起的每次抓取都会对应一个频率调整因子,根据该多个频率调整因子计算频率调整系数。
[0039]步骤S120,确定与当前预设时间段存在对应关系的历史预设时间段的抓取频率。
[0040]具体地,对于一 hub页,如以一个预设时间段为单位I小时为例,则按小时统计每个hub页在过去一天每个小时的抓取频率,作为第二天同一时段的参考值。历史预设时间段的抓取频率的初始值可以为预定值,例如每小时10次。举例来说,搜索引擎通过爬虫技术于11月26日8:00-9:00时间段对hub页发起了抓取,其抓取次数(即抓取频率)为5次,那么则确定11月27日8:00-9:00时间段的历史预设时间段的抓取频率就是5次。
[0041]步骤S130,判断当前预设时间段是否属于节假日与工作日之间的切换时间,若是则根据节假日与工作日之间的切换情况确定节假日因子。
[0042]步骤S140,根据抓取频率、频率调整系数以及节假日因子,动态调整当前预设时间段的抓取频率。
[0043]根据历史预设时间段的抓取频率、频率调整系数以及节假日因子计算当前预设时间段的抓取频率,根据计算得到的当前预设时间段的抓取频率获取下一次抓取的时机。
[0044]根据本发明上述实施例提供的方法,通过获取当前预设时间段内对种子页发起的每次抓取对应的频率调整因子,基于频率调整因子计算频率调整系数,根据抓取频率以及频率调整系数,然后确定与当前预设时间段存在对应关系的历史预设时间段的抓取频率,判断当前预设时间段是否属于节假日与工作日之间的切换时间,若是则根据节假日与工作日之间的切换情况确定节假日因子,动态调整当前预设时间段的抓取频率。利用该方法,所得到的当前预设时间段的抓取频率与历史时间段的抓取频率和当前预设时间段已经发起的抓取情况有关,也就是说,当前预设时间段的抓取频率与两个维度的数据有关,分别为实时数据和历史数据。历史数据作为基点,不容易有偏差;实时数据反映了实时的情况,又能应对各种突发情况。而且本方案考虑到节假日与工作日的切换时间内网上信息的产生量会发生很大的变化,因此进一步引入了节假日因子,利用节假日因子调整抓取频率,准确性更高,从而能够降低对种子页不必要的抓取,也能保证新链接被及时发现而不丢失,更好地平衡了抓取次数与发现新链接之间的关系。
[0045]图2示出了根据本发明另一个实施例的时效性种子页的抓取方法的流程图。如图2所示,该方法包括如下步骤:
[0046]步骤S210,对于一 hub页,针对当前预设时间段已经发起的一次抓取,根据该次抓取是否发现新链接的结果确定该次抓取对应的频率调整因子,当前预设时间段内对种子页已经发起的抓取次数为n,计算n次抓取对应的频率调整因子的乘积作为频率调整系数。
[0047]搜索引擎通过爬虫技术对该hub页进行抓取,根据该次抓取是否发现了新链接的结果确定该次抓取对应的频率调整因子。可选地,如果该次抓取发现新链接,则确定该次抓取对应的频率调整因子为大于I的第三预定值;如果该次抓取没有发现新链接,则确定该次抓取对应的频率调整因子为小于I的第四预定值。举例来说,如果该次抓取发现新链接,则该次抓取对应的频率调整因子为2 (即第三预定值);如果该次抓取没有发现新链接,则确定该次抓取对应的频率调整因子为0.5 (即第四预定值)。以一个预设时间段为单位I小时为例,如果当前时间为8:30,那么当前预设时间段就是8:00-8:59这个时间段,假设8:00-8:30这段时间已经发起的抓取次数为n次,每次抓取对应的频率调整因子为Si,
iG [I, n] o对于第i次抓取,如果发现新链接,则Si=2,如果没有发现新链接,Si=0.5。
[0048]作为另外一种可选地实施方式,为了精确的计算频率调整因子,对于已经发起的一次抓取,也可以根据该次抓取之前一段预设时间内发现新链接的次数与发起抓取的次数的比率确定当前预设时间段内对种子页已经发起的每次抓取对应的频率调整因子。
[0049]将发现新链接的次数与发起的`抓取的次数的比率定义为命中率(Ht)。对于任意hub页,在过去一段时间t内,用过去一小时的命中率Ht来估计合适的频率调整因子Si,即:
[0050]Si=g (Ht)(I)
[0051]如果命中率过高,说明频率提升的幅度可能太小,可能会有一些新链接没有被抓取,还需要再继续加大抓取次数。如果命中率过低,说明频率下调的粒度太小,浪费了不必要抓取,还可以再继续降低抓取次数。
[0052]当前预设时间段内搜索引擎对种子页发起了 n次抓取,则可确定每次抓取的频率调整因子分别为Sl、s2、…、sn。定义频率调整系数为n次抓取对应的频率调整因子的乘积,表示为:



n
[0053]5 = ,即 S=si*s2*.? ? *sn(2)



/-1
[0054]举例来说,当前时间为8:30,8:00-8:30时间段内搜索引擎对hub页发起了 5次抓取,则可确定每次抓取的频率调整因子分别为Sl、S2、S3、S4、S5。进而计算得到频率调整系数为:[0055]
【权利要求】
1.一种时效性种子页的抓取方法,包括: 对于一时效性种子页,获取当前预设时间段内对所述种子页发起的每次抓取对应的频率调整因子,基于所述频率调整因子计算频率调整系数; 确定与所述当前预设时间段存在对应关系的历史预设时间段的抓取频率; 判断所述当前预设时间段是否属于节假日与工作日之间的切换时间,若是则根据节假日与工作日之间的切换情况确定节假日因子; 根据所述抓取频率、所述频率调整系数以及节假日因子,动态调整所述当前预设时间段的抓取频率。
2.根据权利要求1所述的方法,所述判断所述当前预设时间段是否属于节假日与工作日之间的切换时间进一步包括: 若所述当前预设时间段属于工作日,而该工作日的前一日为节假日,则判定所述当前预设时间段属于节假日与工作日之间的切换时间; 若所述当前预设时间段属于节假日,而该节假日的前一日为工作日,则判定所述当前预设时间段属于节假日与工作日之间的切换时间。
3.根据权利要求1或2所述的方法,所述根据节假日与工作日之间的切换情况确定节假日因子进一步包括: 若所述当前预设时间段属于工作日,而该工作日的前一日为节假日,则确定节假日因子为大于I的第一预定值; 若所述当前预设时间段属于节假日,而该节假日的前一日为工作日,则确定节假日因子为小于I的第二预定值。
4.根据权利要求1所述的方法,所述根据节假日与工作日之间的切换情况确定节假日因子进一步包括: 通过在当前预设时间段之前若干次节假日与工作日之间切换时的抓取情况,动态调整所述节假日因子。
5.根据权利要求1-4任一项所述的方法,所述根据所述抓取频率、所述频率调整系数以及节假日因子,动态调整所述当前预设时间段的抓取频率具体为: 将所述抓取频率、所述频率调整系数以及所述节假日因子的乘积作为动态调整后的所述当前预设时间段的抓取频率。
6.根据权利要求1-5任一项所述的方法,所述获取当前预设时间段内对所述种子页发起的每次抓取对应的频率调整因子具体为:对于发起的一次抓取,根据该次抓取是否发现新链接的结果确定该次抓取对应的频率调整因子。
7.根据权利要求1-6任一项所述的方法,所述对于发起的一次抓取,根据该次抓取是否发现新链接的结果确定该次抓取对应的频率调整因子具体包括: 如果该次抓取发现新链接,则确定该次抓取对应的频率调整因子为大于I的第三预定值; 如果该次抓取没有发现新链接,则确定该次抓取对应的频率调整因子为小于I的第四预定值。
8.根据权利要求1-7任一项所述的方法,所述获取当前预设时间段内对所述种子页发起的每次抓取对应的频率调整因子具体为:对于发起的一次抓取,根据该次抓取之前一段预设时间内发现新链接的次数与发起抓取的次数的比率确定该次抓取对应的频率调整因子。
9.根据权利要求1-8任一项所述的方法,所述当前预设时间段内对所述种子页已经发起的抓取次数为n ; 所述基于所述频率调整因子计算频率调整系数具体为:计算n次抓取对应的频率调整因子的乘积作为所述频率调整系数。
10.一种时效性种子页的抓取装置,包括: 获取模块,用于对于一时效性种子页,获取当前预设时间段内对所述种子页发起的每次抓取对应的频率调整因子; 计算模块,用于基于所述频率调整因子计算频率调整系数; 抓取频率确定模块,用于确定所述当前预设时间段存在对应关系的历史预设时间段的抓取频率; 节假日因子确定模块,用于判断所述当前预设时间段是否属于节假日与工作日之间的切换时间,若是则根据节假日与工作日之间的切换情况确定节假日因子; 调整模块,用于根据所述抓取频率、所述频率调整系数以及节假日因子,动态调整所述当前预设时间段的抓取频率。
【文档编号】G06F17/30GK103617264SQ201310638133
【公开日】2014年3月5日 申请日期:2013年12月2日 优先权日:2013年12月2日
【发明者】魏少俊 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1