1.本公开涉及人工智能技术领域中的大数据和机器学习,尤其涉及一种网络爬虫黑名单的生成方法、识别方法及装置。
背景技术:2.网络爬虫流量是指,按照一定的规则,自动地抓取万维网信息的流量,该流量为非真实的流量,因此也可以称为作弊流量,为维护万维网信息的安全,通常需要对网络爬虫流量进行识别,而对网络爬虫流量进行识别通常依赖于网络爬虫黑名单。
3.在现有技术中,网络爬虫黑名单通常基于人工的方式生成,如基于技术人员的经验等确定判定网络爬虫流量的判定标准,并基于该判定标准生成网络爬虫黑名单。
4.然而,通过人工的方式生成网络爬虫黑名单,使得网络爬虫黑名单容易受到人为主观因素的影响,导致网络爬虫黑名单的准确性和可靠性偏低的技术问题。
技术实现要素:5.本公开提供了一种用于提高生成的网络爬虫黑名单的准确性的网络爬虫黑名单的生成方法、识别方法及装置。
6.根据本公开的第一方面,提供了一种网络爬虫黑名单的生成方法,包括:
7.获取第一时间段的网络访问流量;
8.根据第二时间段的网络访问流量对所述第一时间段的网络访问流量进行分类处理,得到所述第一时间段的网络访问流量的分类结果,其中,所述第一时间段的网络访问流量的分类结果表征所述第一时间段的网络访问流量是否为网络爬虫流量,所述第二时间段为所述第一时间段之前的时间段;
9.根据所述第一时间段的网络访问流量的分类结果、以及所述第二时间段的网络访问流量的分类结果,生成网络爬虫黑名单。
10.根据本公开的第二方面,提供了一种网络爬虫流量的识别方法,包括:
11.获取待识别的网络访问流量;
12.根据网络爬虫黑名单对待识别的网络访问流量进行识别处理,得到识别结果;
13.其中,所述识别结果用于表征所述待识别的网络访问流量是否为网络爬虫流量,所述网络爬虫黑名单是基于如权利要求1-14任一项所述方法确定的。
14.根据本公开的第三方面,提供了一种网络爬虫黑名单的生成装置,包括:
15.第一获取单元,用于获取第一时间段的网络访问流量;
16.分类单元,用于根据第二时间段的网络访问流量对所述第一时间段的网络访问流量进行分类处理,得到所述第一时间段的网络访问流量的分类结果,其中,所述第一时间段的网络访问流量的分类结果表征所述第一时间段的网络访问流量是否为网络爬虫流量,所述第二时间段为所述第一时间段之前的时间段;
17.生成单元,用于根据所述第一时间段的网络访问流量的分类结果、以及所述第二
时间段的网络访问流量的分类结果,生成网络爬虫黑名单。
18.根据本公开的第四方面,提供了一种网络爬虫流量的识别装置,包括:
19.第二获取单元,用于获取待识别的网络访问流量;
20.识别单元,用于根据网络爬虫黑名单对待识别的网络访问流量进行识别处理,得到识别结果;
21.其中,所述识别结果用于表征所述待识别的网络访问流量是否为网络爬虫流量,所述网络爬虫黑名单是基于如权利要求1-14任一项所述方法确定的。
22.根据本公开的第五方面,提供了一种电子设备,包括:
23.至少一个处理器;以及
24.与所述至少一个处理器通信连接的存储器;其中,
25.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面或第二方面所述的方法。
26.根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据第一方面或第二方面所述的方法。
27.根据本公开的第七方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面或第二方面所述的方法。
28.本公开提供的网络爬虫黑名单的生成方法、识别方法及装置,通过根据第二时间段的网络访问流量对第一时间段的网络访问流量进行分类处理,得到第一时间段的网络访问流量的分类结果,以根据第二时间段和第一时间段各自对应的分类结果生成网络爬虫黑名单的技术特征,避免了采用人工方式生成网络爬虫黑名单造成的准确性偏低的弊端,提高了生成的网络爬虫黑名单的准确性和可靠性的技术效果。
29.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
30.附图用于更好地理解本方案,不构成对本公开的限定。其中:
31.图1是根据本公开第一实施例的示意图;
32.图2是根据本公开第二实施例的示意图;
33.图3是根据本公开一个实施例的网络爬虫黑名单的生成方法的原理示意图;
34.图4是根据本公开第三实施例的示意图;
35.图5是根据本公开另一实施例的网络爬虫黑名单的生成方法的原理示意图;
36.图6是根据本公开第四实施例的示意图;
37.图7是根据本公开又一实施例的网络爬虫黑名单的生成方法的原理示意图;
38.图8是根据本公开第五实施例的示意图;
39.图9是根据本公开第六实施例的示意图;
40.图10是根据本公开第七实施例的示意图;
41.图11是根据本公开第八实施例的示意图;
42.图12是根据本公开第九实施例的示意图;
43.图13是用来实现本公开实施例的网络爬虫黑名单的生成方法、网络爬虫流量的识别方法的电子设备的框图。
具体实施方式
44.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
45.为了提高网络环境,通常需要对网络爬虫流量进行识别,且通常是生成网络爬虫黑名单,并基于该网络爬虫黑名单从各流量中筛选出网络爬虫流量。
46.其中,网络爬虫流量是指基于网络爬虫访问网络而形成的流量。网络爬虫(又称为网页蜘蛛、网络机器人、网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
47.通过检出并封禁网络爬虫流量,可以减少网站内容(尤其是网站核心内容)被爬取,服务器资源被浪费,低质量内容影响整体内容质量。
48.一个示例中,可以采用人工的方式确定网络爬虫黑名单,以便基于该网络爬虫黑名单检出并封禁网络爬虫流量。
49.例如,基于技术人员的经验等确定判定网络爬虫流量的判定标准,并基于该判定标准生成网络爬虫黑名单。
50.然而,采用该种方法生成网络爬虫黑名单时,容易受到技术人员的主观因素的影响,使得生成的网络爬虫黑名单的准确性相对偏低的技术问题。
51.另一个示例中,可以采用网络模型的方式确定网络爬虫黑名单,以便基于该网络爬虫黑名单检出并封禁网络爬虫流量。
52.例如,采集样本数据集,样本数据集中包括正样本数据和负样本数据,其中,正样本数据可以为非网络爬虫流量,负样本数据为网络爬虫流量,采用正样本数据和负样本数据训练得到网络模型,该网络模型用于检出网络爬虫流量,从而确定网络爬虫黑名单。
53.然而,采用该种方式需要对各样本数据进行标注,以确定样本数据集中的正样本数据和负样本数据,且标注的过程仍然为人工标注的过程,则有可能标注错误的情况,如将负样本数据标注为正样本数据,或者,将正样本数据标注为负样本数据,从而造成训练的准确性和可靠性偏低的技术问题,且随着时间的推移,网络模型的可靠性相对会降低。
54.为了避免上述技术问题中的至少一种,本公开的发明人经过创造性的劳动,得到了本公开的发明构思:结合在前时间段的网络访问流量,对在后时间段的网络访问流量进行分类处理,并基于在前时间段的网络访问流量的分类结果、在后时间段的网络访问流量的分类结果,生成网络爬虫黑名单。
55.基于上述发明构思,本公开提供一种网络爬虫黑名单的生成方法、识别方法及装置,应用于人工智能技术领域中的大数据和机器学习,以提高生成的网络爬虫黑名单的准确性。
56.图1是根据本公开第一实施例的示意图,如图1所示,本公开实施例的网络爬虫黑
名单的生成方法,包括:
57.s101:获取第一时间段的网络访问流量。
58.示例性的,本实施例的执行主体可以为网络爬虫黑名单的生成装置(下文简称为生成装置),生成装置可以为服务器(如本地服务器、云端服务器、服务器集群等),也可以为计算机,也可以为终端设备,也可以为处理器,也可以为芯片等,本实施例不做限定。
59.其中,第一时间段中的“第一”用于与后文中的第二时间段进行区分,用于对不同的时间段进行区分,而不能理解为对第一时间段的限定,如不能理解为对第一时间段的时长的限定等。
60.s102:根据第二时间段的网络访问流量对第一时间段的网络访问流量进行分类处理,得到第一时间段的网络访问流量的分类结果。
61.其中,第一时间段的网络访问流量的分类结果表征第一时间段的网络访问流量是否为网络爬虫流量,第二时间段为第一时间段之前的时间段。
62.也就是说,第一时间段和第二时间段为两个在时间上相邻的时间段,且第二时间段为第一时间段之前的时间段,即第二时间段中的任意时间早于第一时间段中的任意时间,第一时间段中的任意时间晚于第二时间段中的任意时间。
63.分类结果表征相应的访问流量是否网络爬虫流量,相应的,第一时间段的网络访问流量的分类结果表征第一时间段的网络访问流量是否为网络爬虫流量,且在本实施例中,是结合第二时间段的网络访问流量确定第一时间段的网络访问流量是否为网络爬虫流量,即基于在前的时间段的网络访问流量确定在后时间段的网络访问流量是否为网络爬虫流量,以通过在线学习(online learning)和增量学习(positive-unlabeled learning,pu)的方式生成网络爬虫黑名单,从而提高网络爬虫黑名单的准确性和召回率的技术效果。
64.s103:根据第一时间段的网络访问流量的分类结果、以及第二时间段的网络访问流量的分类结果,生成网络爬虫黑名单。
65.结合上述分析,第二时间段的网络访问流量的分类结果可以用于表征,在第二时间段的网络访问流量是否为网络爬虫流量。
66.应该理解的是,上述第一时间段和第二时间段只是用于适应性的说明,可以存在不同的时间段,且可以结合不同的时间段各自对应的分类结果生成网络爬虫黑名单。
67.也就是说,可以结合两个时间段各自对应的分类结果生成网络爬虫黑名单,也可以结合更多的时间段各自对应的分类结果生成网络爬虫黑名单。
68.结合上述分析可知,本公开实施例提供了一种网络爬虫黑名单的生成方法,包括:获取第一时间段的网络访问流量,根据第二时间段的网络访问流量对第一时间段的网络访问流量进行分类处理,得到第一时间段的网络访问流量的分类结果,其中,第一时间段的网络访问流量的分类结果表征第一时间段的网络访问流量是否为网络爬虫流量,第二时间段为第一时间段之前的时间段,根据第一时间段的网络访问流量的分类结果、以及第二时间段的网络访问流量的分类结果,生成网络爬虫黑名单,在本实施例中,通过根据第二时间段的网络访问流量对第一时间段的网络访问流量进行分类处理,得到第一时间段的网络访问流量的分类结果,以根据第二时间段和第一时间段各自对应的分类结果生成网络爬虫黑名单的技术特征,避免了采用人工方式生成网络爬虫黑名单造成的准确性偏低的弊端,提高了生成的网络爬虫黑名单的准确性和可靠性的技术效果。
69.图2是根据本公开第二实施例的示意图,如图2所示,本公开实施例的网络爬虫黑名单的生成方法,包括:
70.s201:接收由分布式发布订阅消息系统实时传输的网络访问流量。
71.可以理解的是,为了避免冗余地阐述,关于本实施例与上述实施例相同的技术特征,本实施例不再赘述。
72.其中,分布式发布订阅消息系统可以为kafka,该分布式发布订阅消息系统为一种高吞吐量的分布式发布订阅消息系统。
73.示例性的,如图3所示,分布式发布订阅消息系统可以获取网络访问流量,并将获取到的网络访问流量传输给生成装置,本实施例对传输的方式不做限定。例如:
74.一个示例中,分布式发布订阅消息系统可以将获取到的网络访问流量上报给生成装置。另一个示例中,分布式发布订阅消息系统也可以基于预设时间间隔将网络访问流量上报给生成装置。
75.s202:基于分布式数据流引擎对实时传输的网络访问流量进行流式计算处理,得到第一时间段的网络访问流量。
76.其中,分布式数据流引擎可以用于流式计算(flink)处理,以将实时传输的网络访问流量拆分为以一定时长为单位的时间段的网络访问流量。
77.示例性的,分布式数据流引擎采用流式计算对网络访问流量进行处理,得到5分种内的网络访问流量。
78.在本实施例中,通过基于分布式发布订阅消息系统获取网络访问流量,而分布式发布订阅消息系统具有高吞吐量,因此,用于生成网络爬虫黑名单的网络访问流量具有较高的时效性,所以,可以提高生成网络爬虫黑名单的效率;且通过流失计算处理,可以通过结合时间段生成网络爬虫黑名单,而相对避免繁琐的操作而造成的资源消耗的弊端,从而提高节约资源,合理利用资源的技术效果。
79.s203:提取第一时间段的网络访问流量的访问特征数据。
80.其中,访问特征数据用于区分不同的访问用户。
81.第一时间段的网络访问流量是基于不同的访问用户而生成的,访问特征数据是指可以用于对第一时间段的各访问用户进行区分的数据,本实施例对访问特征数据的内容不做限定。
82.示例性的,访问特征数据可以为网际互联协议(internet protocol,ip)地址,也可以为用户身份证明(user identification,uid)。
83.结合图3可知,可以将第一时间段的网络访问流量存储至列式存储的高效能分析性数据管理系统(clickhouse),并对clickhouse中的第一时间段的网络访问流量进行特征提取处理,从而得到第一时间段的网络访问流量的访问特征数据。
84.s204:根据第二时间段的网络访问流量和访问特征数据,对第一时间段的网络访问流量进行分类处理,得到第一时间段的网络访问流量的分类结果。
85.结合上述分析,该步骤可以理解为:结合第二时间段的网络访问流量、以及用于区分第一时间段的各访问用户的数据,对第一时间段的网络访问流量进行分类处理,使得得到的第一时间段的网络访问流量的分类结果相对于各访问用户而言,具有较强的区分性和针对性的技术效果。
86.s205:根据第一时间段的网络访问流量的分类结果、以及第二时间段的网络访问流量的分类结果,生成网络爬虫黑名单。
87.示例性的,可以结合网络模型的方式生成网络爬虫黑名单。示例性的,如图3所示,可以将特征数据输入至网络模型中,以得到网络爬虫黑名单。
88.在一些实施例中,网络模型可以包括集成分类器,且集成分类器中包括基分类器,以通过结合集成分类器生成网络爬虫黑名单。其中,集成分类器可以为自适应数据流概念漂移的集成分类器算法(streaming ensemble algorithm,sea)生成的。
89.其中,可以采用集成分类器和随机抽样相结合的方式生成网络爬虫黑名单,也可以采用对集成分类器中基分类器替换的方式生成网络爬虫黑名单。
90.现结合图4对采用集成分类器和随机抽样相结合的方式生成网络爬虫黑名单进行示范性地阐述。其中,图4是根据本公开第三实施例的示意图,如图4所示,本公开实施例的网络爬虫黑名单的生成方法,包括:
91.s401:获取第一时间段的网络访问流量。
92.同理,为了避免冗余地阐述,关于本实施例与上述实施例相同的技术特征,本实施例不再赘述。
93.s402:提取第一时间段的网络访问流量的访问特征数据。
94.其中,访问特征数据用于区分不同的访问用户。
95.s403:对各访问特征数据进行抽样处理,得到分配给每一基分类器的访问特征数据。
96.示例性的,如图5所示,网络模型可以包括抽样层和集成分类器,抽样层用于对各访问特征数据进行抽样处理。
97.集成分类器中包括n个基分类器,如图5中所示的基分类器1、基分类器2、直至基分类器n,基于抽样层对所有的访问特征数据进行的抽样处理,以为每一基分类器分配访问特征数据,即得到输入至基分类器1的访问特征数据1、输入至基分类器2的访问特征数据2、直至输入至基分类器n的访问特征数据n。
98.在一些实施例中,s403可以包括:采用自展抽样算法(bootstrap)对各访问特征数据进行抽样处理,得到分配给每一基分类器的访问特征数据,其中,抽样次数等于基分类器的数量。
99.示例性的,结合上述实施例,基分类器的数量为n,则基于自展抽样算法进行n次抽样,以使得n个基分类器中的每一基分类器都被分配有与之对应的访问特征数据。
100.在本实施例中,通过自展抽样算法,并结合与基分类器的数量相同的抽样次数对访问特征数据进行抽样处理,可以使得抽样处理具有随机性,且具有全面性,进而使得后续各基分类器基于各自对应的访问特征数据进行训练具有较高的准确性和可靠性的技术效果。
101.s404:针对每一基分类器,基于每一基分类器对应的访问特征数据对每一基分类器进行训练,得到每一基分类器训练后的基分类器。
102.其中,各访问特征数据中,至少有一个访问特征数据被标注有样本标记,被标注有样本标记的访问特征数据对应的网络访问流量为网络爬虫流量。
103.也就是说,在本实施例中,各访问特征数据中,可以包括被标注有样本标记的访问
特征数据,也可以包括没有被标注样本标记的访问特征数据。
104.相对而言,本实施例可以对部分访问特征数据进行标注,可以不对所有的访问特征进行标注,且标注的可以仅为网络访问流量为网络爬虫流量的访问特征数据,相当于可以仅标注负样本数据,从而减少标注成本,提高效率。
105.在本实施例中,通过结合抽样处理对各基分类器进行训练,可以使得各基分类器之间的训练相互独立,互不影响,从而实现避免噪音干扰,提高训练的可靠性和有效性的技术效果。
106.其中,各基分类器是基于第二时间段的网络访问流量训练得到的。
107.s405:对被标注有样本标记的访问特征数据的样本标记进行清除处理。
108.s406:基于各训练后的基分类器对清除处理后的访问特征数据进行分类处理,得到第一时间段的访问用户各自的网络访问流量各自对应的分类结果。
109.示例性的,结合上述分析可知,各访问特征数据中的一个或多个访问特征数据被标注有样本标记,且在s404中,是基于各基分类器各自对应的访问特征数据对各基分类器进行训练,从而得到各基分类器各自对应的训练后的基分类器。
110.也就是说,在本实施例中,先基于包括被标注有样本标记的访问特征数据对集成分类器(为基于第二时间段的网络访问流量确定的)进行训练(具体为对集成分类器中各基分类器进行训练),而后对样本标记进行清除处理,得到没有样本标记的访问特征数据,再次将没有样本标记的访问数据输入至集成分类器(具体为输入至集成分类器中的基分类器),输出第一时间段的访问用户各自的网络访问流量各自对应的分类结果。
111.例如,若访问特征数据1、访问特征2直至访问特征数据m为被分配给基分类器1的访问特征数据,且访问特征数据1和访问特征数据2为被标注有样本标记的访问特征数据,则将访问特征数据1、访问特征2直至访问特征数据m输入至基分类器1,得到训练后的基分类器1;将访问特征数据1和访问特征数据2各自的样本标记进行清除处理,并将清除处理后的访问特征数据1和2、以及m个访问特征数据中的其他访问特征数据输入至训练后的基分类器1,输出访问特征数据1、访问特征2直至访问特征数据m各自对应的网络访问流量各自对应的分类结果。
112.在本实施例中,通过结合标注有样本标记的访问特征数据、以及清除处理后的访问特征数据确定第一时间段的网络访问流量各自对应的分类结果,可以对标注错误的网络访问流量进行纠正,也可以对没有标注样本标记的访问特征数据对应的网络访问流量进行分类处理,从而提高了分类处理的准确性和可靠性的技术效果。
113.结合上述分析可知,各基分类器是基于第二时间段的网络访问流量训练得到的,因此,训练后的基分类器相当于是基于第二时间段的网络访问流量确定的,即对基分类器的训练过程为增量训练的过程,也是不断迭代更新的过程,所以,可以使得基分类器具有较强的时效性和可靠性,进而提高基于分类器进行分类处理的准确性和可靠性的技术效果。
114.s407:根据第一时间段的网络访问流量的分类结果,生成网络爬虫黑名单。
115.示例性的,可以以时间段为单位生成网络爬虫黑名单,并结合各时间段各自对应的网络爬虫黑名单确定最终的网络爬虫黑名单,也可以结合各时间段各自对应的分类结果确定网络爬虫黑名单。
116.现结合图6对采用对集成分类器中基分类器替换的方式生成网络爬虫黑名单进行
示范性地阐述。其中,图6是根据本公开第四实施例的示意图,如图6所示,本公开实施例的网络爬虫黑名单的生成方法,包括:
117.s601:获取第一时间段的网络访问流量。
118.同理,为了避免冗余地阐述,关于本实施例与上述实施例相同的技术特征,本实施例不再赘述。
119.s602:提取第一时间段的网络访问流量的访问特征数据。
120.其中,访问特征数据用于区分不同的访问用户,各访问特征数据中至少有一个访问特征数据被标注有样本标记。
121.s603:对标注有样本标记的访问特征数据的样本标记进行清除处理。
122.s604:将经清除处理的访问特征数据、以及没有标注有样本标记的访问特征数据输入至每一基分类器中,得到各基分类器各自对应的分类结果。
123.示例性的,如图7所示,若集成分类器中包括n个基分类器,分别为基分类器1、基分类器2、直至基分类器n,则将经清除处理的访问特征数据、以及没有标注有样本标记的访问特征数据输入至基分类器1,输出各访问特征数据各自对应的网络访问流量的分类结果,将经清除处理的访问特征数据、以及没有标注有样本标记的访问特征数据输入至基分类器2,输出各访问特征数据各自对应的网络访问流量的分类结果,直至经清除处理的访问特征数据、以及没有标注有样本标记的访问特征数据输入至基分类器n,输出各访问特征数据各自对应的网络访问流量的分类结果。
124.s605:根据各基分类器各自对应的分类结果生成第一时间段的网络访问流量的分类结果。
125.其中,基分类器是基于第二时间段的网络访问流量确定的,第二时间段为第一时间段之前的时间段。
126.也就是说,第一时间段的网络访问流量的分类结果是基于第二时间段的网络访问流量、以及各基分类器各自对应的分类结果确定的,以采用不同的基分类器分别确定第一时间段的网络访问流量的分类结果,可以提高生成的第一时间段的网络访问流量的分类结果的准确性和可靠性的技术效果。
127.在一些实施例中,s605可以包括:若任一基分类器对应的分类结果表征第一时间段的网络访问流量为网络爬虫流量,则将第一时间段的网络访问流量的分类结果确定为表征第一时间段的网络访问流量为网络爬虫流量的分类结果。
128.结合上述实施例,若n个基分类器中,有一个或多个基分类器的分类结果表征第一时间段的网络访问流量为网络爬虫流量,则将第一时间段的网络访问流量的分类结果确定为表征第一时间段的网络访问流量为网络爬虫流量的分类结果,以避免漏掉为网络爬虫流量的网络访问流量,从而提高网络访问的安全性和可靠性的技术效果。
129.示例性的,若n个基分类器中,基分类器1的分类结果表征第一时间段的网络访问流量为网络爬虫流量,则将第一时间段的网络访问流量的分类结果确定为表征第一时间段的网络访问流量为网络爬虫流量的分类结果。
130.需要说明的是,第一时间段的网络访问流量可能为不同的访问用户生成的,则针对每一基分类器,可以确定每一访问用户的网络访问流量的分类结果,即确定每一访问用户的网络访问流量是否为网络爬虫流量。
131.相应的,若基分类器1对某一访问用户的网络访问流量的分类结果表征,该访问用户的网络访问流量为网络爬虫流量,而若基分类器2对该访问用户的网络访问流量的分类结果表征,该访问用户的网络访问流量不是网络爬虫流量,则将该访问用户的网络访问流量确定为网络爬虫流量。
132.在一些实施例中,某一访问用户的网络访问流量的分类结果,可以各基分类器的分类结果中多数数量进行确定,或者,阈值进行确定。
133.例如,n个基分类器各自对应的分类结果表征,有k个分类结果为某访问用户的网络访问流量是网络爬虫流量,且k≥(1/2)k,则确定该访问用户的网络访问流量确定为网络爬虫流量,反之,则访问用户的网络访问流量确定不是网络爬虫流量。
134.s606:根据第一时间段的网络访问流量生成新的基分类器。
135.其中,本实施例关于生成新的基分类器的实现方式不做限定。
136.一个示例中,可以采用迭代次数的方式对基础网络进行训练,从而得到新的基分类器。
137.另一个示例中,可以基于引导聚集算法(probtagging)和第一时间段的网络访问流量训练新的基分类器。
138.如图7所示,具体可以基于引导聚集算法和访问特征数据(可以为清除样本标记之前的访问特征数据,也可以为清除样本标记的访问特征数据),训练新的基分类器。
139.s607:根据各基分类器各自对应的分类结果,确定各基分类器中最小分类准确率的基分类器,并将新的基分类器替换最小分类准确率的基分类器。
140.其中,新的基分类器、以及各基分类器中的其他基分类器用于对第三时间段的网络访问流量进行分类处理,第三时间段为第一时间段的下一时间段。
141.结合上述分析可知,n个基分类器中的每一基分类器对会对第一时间段的网络访问流量进行分类处理,得到各自对应的分类结果,根据各基分类器各自对应的分类结果,确定各基分类器各自对应的分类准确率,并从各分类准确率中确定最小分类准确率,从而实现对基分类器的替换,即将新的基分类器替换最小分类准确率的基分类器。
142.示例性的,结合上述实施例和图7,若n个基分类器中的最小分类准确率的基分类器为基分类器2,则将新的基分类器替换基分类器2。
143.相应的,可以结合n个基分类器中除基分类器2、以及新的基分类器对下一时间段(即第三时间段)的网络访问流量进行分类处理。
144.在本实施例中,通过将新的基分类器替换最小分类准确率的基分类器,可以实现对最小分类准确率的基分类器的替换,提高后续分类处理的准确性和可靠性的技术效果。
145.在一些实施例中,确定各分类器中最小分类准确率的基分类器包括如下步骤:
146.第一步骤:根据各基分类器各自对应的分类结果,确定第一时间段的各访问用户各自的网络访问流量中的网络爬虫流量的总数量。
147.示例性的,结合上述分析,若第一时间段的访问用户的数量为m个,则每一基分类器均会得到m个分类结果,即一个访问用户的访问流量对应一个分类结果。
148.针对每个基分类器,确定该基分类器确定的m个分类结果中,表征访问用户的访问流量为网络爬虫流量的数量,从而对n个基分类器的分类结果进行汇总处理,得到m个访问用户各自的网络访问流量中的网络爬虫流量的总数量。
149.第二步骤:根据总数量和各基分类器各自对应的分类结果,确定各基分类器中最小分类准确率的基分类器。
150.在本实施例中,通过各基分类器各自对应的分类结果确定总数量,从而结合各基分类器各自对应的分类结果,确定最小分类准确率的基分类器,可以实现方便快捷地确定出最小分类准确率的基分类器,且准确性和可靠性相对较高。
151.在一些实施例中,第二步骤可以包括如下子步骤:
152.第一子步骤:针对每一基分类器,确定基于该基分类器确定出的第一时间段的访问用户各自的网络访问流量中的网络爬虫流量的数量。
153.第二子步骤:根据每一基分类器确定出的第一时间段的访问用户各自的网络访问流量中的网络爬虫流量的数量、以及总数量,确定每一基分类器的分类准确率,并确定各分类准确率中的最小分类准确率。
154.示例性的,结合上述分析,若根据基分类器1的分类结果可知,m个分类结果中,有p个访问用户的网络访问流量为网络爬虫流量,而总数量为q,则基分类器1的分类准确率为(p/q)*100%。以此类推,直至得到基分类器n的分类准确率,从而确定最小分类准确率的基分类器。
155.在本实施例中,通过结合第一时间段的访问用户各自的网络访问流量中的网络爬虫流量的数量、以及总数量,确定最小分类准确率,可以提高确定出的最小分类准确率的准确性和可靠性的技术效果。
156.s608:根据第一时间段的网络访问流量的分类结果、以及第二时间段的网络访问流量的分类结果,生成网络爬虫黑名单。
157.基于上述分析可知,可以根据第一时间段的网络访问流量的分类结果生成网络爬虫黑名单;也可以采用本实施例中的根据第一时间段的网络访问流量的分类结果、以及第二时间段的网络访问流量的分类结果,生成网络爬虫黑名单;还可以结合第一时间段的网络访问流量的分类结果、第二时间段的网络访问流量的分类结果、以及第三时间段的网络访问流量的分类结果,生成网络爬虫黑名单。
158.也就是说,生成网络爬虫黑名单可以是一个不断更新迭代的过程,使得生成的网络爬虫黑名单具有较高的时效性和可靠性的技术效果。
159.值得说明的是,若第一时间段为初始时间段,即第一时间段为初始化之后的第一个时间段,则基分类器为基础网络,本实施例对基础网络的结构和类型等不做限定。
160.在一些实施例中,在生成了网络爬虫黑名单之后,可以将网络爬虫黑名单推送至云端服务器,以加速对网络爬虫黑名单的落地应用。
161.根据基分类器的量与量之间是否按比例、成直线的关系,可以将基分类器分为线下分类器和非线性分类器。
162.其中,线性分类器是指量与量之间按比例、成直线的关系,可以理解为基分类器的为一阶导数为常数的函数;相应的,非线性分类器是指量与量之间不按比例、不成直线的关系,可以理解为基分类器的为一阶导数不为常数的函数。
163.相对而言,若基分类器为线性分类器,则可以采用第三实施例的所述的方法生成网络爬虫黑名单;若基分类器为非线性基分类器(如树分类器等),则可以采用第四实施例的所述的方法生成网络爬虫黑名单。
164.值得说明的是,通过结合基分类器的类型(即非线性的类型和线性的类型)采用不同的方法生成网络爬虫黑名单,可以提高生成网络爬虫黑名单的多样性、灵活性、以及针对性的技术效果。
165.图8是根据本公开第五实施例的示意图,如图8所示,本公开实施例的网络爬虫流量的识别方法,包括:
166.s801:获取待识别的网络访问流量。
167.本公开实施例的执行主体可以为网络爬虫流量的识别装置(下文简称识别装置),识别装置可以为与生成装置相同的装置,也可以为不同的装置,本实施例不做限定。
168.s802:根据网络爬虫黑名单对待识别的网络访问流量进行识别处理,得到识别结果。
169.其中,识别结果用于表征待识别的网络访问流量是否为网络爬虫流量,网络爬虫黑名单是基于上述任一实施例所述的方法确定的。
170.示例性的,若识别结果表征待识别的网络访问流量为网络爬虫流量,则可以对该网络爬虫流量进行封禁,以避免网站内容被爬取,避免服务器资源被浪费等弊端,从而提高网络访问安全的技术效果。
171.图9是根据本公开第六实施例的示意图,如图9所示,本公开实施例的网络爬虫黑名单的生成装置900,包括:
172.第一获取单元901,用于获取第一时间段的网络访问流量。
173.分类单元902,用于根据第二时间段的网络访问流量对第一时间段的网络访问流量进行分类处理,得到第一时间段的网络访问流量的分类结果,其中,第一时间段的网络访问流量的分类结果表征第一时间段的网络访问流量是否为网络爬虫流量,第二时间段为第一时间段之前的时间段。
174.生成单元903,用于根据第一时间段的网络访问流量的分类结果、以及第二时间段的网络访问流量的分类结果,生成网络爬虫黑名单。
175.图10是根据本公开第七实施例的示意图,如图10所示,本公开实施例的网络爬虫黑名单的生成装置1000,包括:
176.第一获取单元1001,用于获取第一时间段的网络访问流量。
177.结合图10可知,在一些实施例中,第一获取单元1001,包括:
178.接收子单元10011,用于接收由分布式发布订阅消息系统实时传输的网络访问流量。
179.处理子单元10012,用于基于分布式数据流引擎对实时传输的网络访问流量进行流式计算处理,得到第一时间段的网络访问流量。
180.分类单元1002,用于根据第二时间段的网络访问流量对第一时间段的网络访问流量进行分类处理,得到第一时间段的网络访问流量的分类结果,其中,第一时间段的网络访问流量的分类结果表征第一时间段的网络访问流量是否为网络爬虫流量,第二时间段为第一时间段之前的时间段。
181.结合图10可知,在一些实施例中,分类单元1002,包括:
182.提取子单元10021,用于提取第一时间段的网络访问流量的访问特征数据,其中,访问特征数据用于区分不同的访问用户。
183.分类子单元10022,用于根据第二时间段的网络访问流量和访问特征数据,对第一时间段的网络访问流量进行分类处理,得到第一时间段的网络访问流量的分类结果。
184.在一些实施例中,第一时间段的访问用户的数量为多个;分类子单元10022,包括:
185.清除模块,用于若各访问特征数据中,至少有一个访问特征数据被标注有样本标记,则对样本标记进行清除处理,其中,被标注有样本标记的访问特征数据对应的网络访问流量为网络爬虫流量。
186.分类模块,用于根据第二时间段的网络访问流量、以及清除处理后的访问特征数据进行分类处理,得到第一时间段的访问用户各自的网络访问流量各自对应的分类结果。
187.在一些实施例中,分类模块,包括:
188.训练子模块,用于根据第二时间段的网络访问流量训练基分类器。
189.输出子模块,用于将访问特征数据输入至基分类器,输出第一时间段的网络访问流量的分类结果。
190.在一些实施例中,基分类器的数量为多个;输出子模块用于,将访问特征数据输入至每一基分类器,得到各基分类器各自对应的分类结果,并根据各基分类器各自对应的分类结果生成第一时间段的网络访问流量的分类结果。
191.在一些实施例中,输出子模块用于,若任一基分类器对应的分类结果表征第一时间段的网络访问流量为网络爬虫流量,则将第一时间段的网络访问流量的分类结果确定为表征第一时间段的网络访问流量为网络爬虫流量的分类结果。
192.生成子模块,用于根据第一时间段的网络访问流量生成新的基分类器。
193.在一些实施例中,生成子模块用于,根据引导聚集算法和第一时间段的网络访问流量训练新的基分类器。
194.确定子模块,用于根据各基分类器各自对应的分类结果,确定各基分类器中最小分类准确率的基分类器。
195.在一些实施例中,第一时间段的访问用户的数量为多个;确定子模块用于,根据各基分类器各自对应的分类结果,确定第一时间段的各访问用户各自的网络访问流量中的网络爬虫流量的总数量,并根据总数量和各基分类器各自对应的分类结果,确定各基分类器中最小分类准确率的基分类器。
196.在一些实施例中,确定子模块用于,针对每一基分类器,确定基于该基分类器确定出的第一时间段的访问用户各自的网络访问流量中的网络爬虫流量的数量,并根据每一基分类器确定出的第一时间段的访问用户各自的网络访问流量中的网络爬虫流量的数量、以及总数量,确定每一基分类器的分类准确率,并确定各分类准确率中的最小分类准确率。
197.替换子模块,用于将新的基分类器替换最小分类准确率的基分类器。
198.其中,新的基分类器、以及各基分类器中的其他基分类器用于对第三时间段的网络访问流量进行分类处理,第三时间段为第一时间段的下一时间段。
199.在一些实施例中,分类子单元10022还包括:
200.训练模块,用于根据访问特征数据对所述基分类器进行训练,得到训练后的基分类器。
201.以及,清除模块用于,基于训练后的基分类器对清除处理后的访问特征数据进行分类处理,得到第一时间段的访问用户各自的网络访问流量各自对应的分类结果。
202.相应的,基分类器的数量为多个;输出子模块用于,对各访问特征数据进行抽样处理,得到分配给每一基分类器的访问特征数据,并针对每一基分类器,基于每一基分类器对应的访问特征数据对每一基分类器进行训练,得到每一基分类器训练后的基分类器。
203.输出子模块用于,采用自展抽样算法对各访问特征数据进行抽样处理,得到分配给每一基分类器的访问特征数据,其中,抽样次数等于基分类器的数量。
204.生成单元1003,用于根据第一时间段的网络访问流量的分类结果、以及第二时间段的网络访问流量的分类结果,生成网络爬虫黑名单。
205.图11是根据本公开第八实施例的示意图,如图11所示,本公开实施例的网络爬虫流量的识别装置1100,包括:
206.第二获取单元1101,用于获取待识别的网络访问流量。
207.识别单元1102,用于根据网络爬虫黑名单对待识别的网络访问流量进行识别处理,得到识别结果。
208.其中,识别结果用于表征待识别的网络访问流量是否为网络爬虫流量,网络爬虫黑名单是基于如上任一实施例所述的网络爬虫黑名单的生成方法确定的。
209.图12是根据本公开第九实施例的示意图,如图12所示,本公开中的电子设备1200可以包括:处理器1201和存储器1202。
210.存储器1202,用于存储程序;存储器1202,可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:ram),如静态随机存取存储器(英文:static random-access memory,缩写:sram),双倍数据率同步动态随机存取存储器(英文:double data rate synchronous dynamic random access memory,缩写:ddr sdram)等;存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory)。存储器1202用于存储计算机程序(如实现上述方法的应用程序、功能模块等)、计算机指令等,上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器1202中。并且上述的计算机程序、计算机指令、数据等可以被处理器1201调用。
211.上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器1202中。并且上述的计算机程序、计算机指据等可以被处理器1201调用。
212.处理器1201,用于执行存储器1202存储的计算机程序,以实现上述实施例涉及的方法中的各个步骤。
213.具体可以参见前面方法实施例中的相关描述。
214.处理器1201和存储器1202可以是独立结构,也可以是集成在一起的集成结构。当处理器1201和存储器1202是独立结构时,存储器1202、处理器1201可以通过总线1203耦合连接。
215.本实施例的电子设备可以执行上述方法中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
216.本公开的技术方案中,所涉及的用户个人信息(如访问用户的网络访问流量等)的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
217.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种
计算机程序产品。
218.根据本公开的实施例,本公开还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
219.图13示出了可以用来实施本公开的实施例的示例电子设备1300的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
220.如图13所示,设备1300包括计算单元1301,其可以根据存储在只读存储器(rom)1302中的计算机程序或者从存储单元1308加载到随机访问存储器(ram)1303中的计算机程序,来执行各种适当的动作和处理。在ram 1303中,还可存储设备1300操作所需的各种程序和数据。计算单元1301、rom 1302以及ram 1303通过总线1304彼此相连。输入/输出(i/o)接口1305也连接至总线1304。
221.设备1300中的多个部件连接至i/o接口1305,包括:输入单元1306,例如键盘、鼠标等;输出单元1307,例如各种类型的显示器、扬声器等;存储单元1308,例如磁盘、光盘等;以及通信单元1309,例如网卡、调制解调器、无线通信收发机等。通信单元1309允许设备1300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
222.计算单元1301可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1301的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1301执行上文所描述的各个方法和处理,例如网络爬虫黑名单的生成方法、网络爬虫流量的识别方法。例如,在一些实施例中,网络爬虫黑名单的生成方法、网络爬虫流量的识别方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1308。在一些实施例中,计算机程序的部分或者全部可以经由rom 1302和/或通信单元1309而被载入和/或安装到设备1300上。当计算机程序加载到ram 1303并由计算单元1301执行时,可以执行上文描述的网络爬虫黑名单的生成方法、网络爬虫流量的识别方法的一个或多个步骤。备选地,在其他实施例中,计算单元1301可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行网络爬虫黑名单的生成方法、网络爬虫流量的识别方法。
223.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至
少一个输出装置。
224.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
225.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
226.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
227.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
228.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
229.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
230.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。