基于区块链的反爬虫方法、装置及电子设备与流程

未命名 09-22 阅读:75 评论:0


1.本技术涉及计算机技术领域,具体而言,涉及一种基于区块链的反爬虫方法、装置及电子设备。


背景技术:

2.在当前的网络环境下,爬虫技术得到了广泛应用,用于数据采集、搜索引擎优化等领域。然而,某些情况下,恶意的爬虫活动可能导致安全问题、信息泄露或服务质量下降。因此,如何有效应对爬虫问题已成为本领域技术人员亟需解决的技术问题。


技术实现要素:

3.本技术实施例提供了一种基于区块链的反爬虫方法、装置、电子设备及可读存储介质,其通过利用区块链的分布式存储和共识机制,增强数据的安全性和不可篡改性,从而提高爬虫检测的可靠性和准确性,进而在检测到爬虫时阻止恶意爬虫访问,保护网站的安全和隐私。
4.本技术的实施例可以这样实现:
5.第一方面,本技术实施例提供一种基于区块链的反爬虫方法,所述方法包括:
6.将接收到的由第二设备发送的目标访问请求所对应的第一目标访问信息保存到区块链网络的各区块链节点的分布式账本上,其中,所述分布式账本中包括第二设备对应的访问信息;
7.根据所述分布式账本中与所述第一目标访问信息对应的第二目标访问信息集,分析所述目标访问请求是否是爬虫访问请求,其中,所述第二目标访问信息集中包括所述第一目标访问信息,并且对应的目标访问发起方为所述第一目标访问信息对应的访问发起方;
8.在所述目标访问请求是所述爬虫访问请求时,根据预设反爬措施对所述目标访问请求进行处理。
9.第二方面,本技术实施例提供一种基于区块链的反爬虫装置,所述装置包括:
10.保存模块,用于将接收到的由第二设备发送的目标访问请求所对应的第一目标访问信息保存到区块链网络的各区块链节点的分布式账本上,其中,所述分布式账本中包括第二设备对应的访问信息;
11.分析模块,用于根据所述分布式账本中与所述第一目标访问信息对应的第二目标访问信息集,分析所述目标访问请求是否是爬虫访问请求,其中,所述第二目标访问信息集中包括所述第一目标访问信息,并且对应的目标访问发起方为所述第一目标访问信息对应的访问发起方;
12.处理模块,用于在所述目标访问请求是所述爬虫访问请求时,根据预设反爬措施对所述目标访问请求进行处理。
13.第三方面,本技术实施例提供一种电子设备,包括处理器和存储器,所述存储器存
储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现前述实施方式所述的基于区块链的反爬虫方法。
14.第四方面,本技术实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式所述的基于区块链的反爬虫方法。
15.本技术实施例提供的基于区块链的反爬虫方法、装置、电子设备及可读存储介质,在接收到第二设备发送的目标访问请求时,基于该目标访问请求确定第一访问信息,并将第一访问信息存储到区块链网络的各区块链节点的分布式账本上,其中,分布式账本中包括第二设备对应的访问信息;之后,根据上述分布式账本中与第一目标访问信息对应的第二目标访问信息集,分析该目标访问请求是否是爬虫访问请求,若是,则根据预设反爬措施对该目标访问请求进行处理。其中,该第二目标访问信息集中包括上述第一目标访问信息,并且第二目标访问信息集对应的目标访问发起方为所述第一目标访问信息对应的访问发起方。如此,通过利用区块链的分布式存储和共识机制,可增强数据的安全性和不可篡改性,从而提高爬虫检测的可靠性和准确性;在检测到爬虫时阻止恶意爬虫访问,可保护网站的安全和隐私。
附图说明
16.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
17.图1为本技术实施例提供的电子设备的方框示意图;
18.图2为本技术实施例提供的基于区块链的反爬虫方法的流程示意图;
19.图3为图2中步骤s120包括的子步骤的流程示意图;
20.图4为图3中子步骤s122包括的子步骤的流程示意图;
21.图5为本技术实施例提供的基于区块链的反爬虫装置的方框示意图。
22.图标:100-电子设备;110-存储器;120-处理器;130-通信单元;200-基于区块链的反爬虫装置;210-保存模块;220-分析模块;230-处理模块。
具体实施方式
23.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
24.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
25.需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他
性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
26.目前存在一些反爬虫技术方案,如验证码、ip封禁、user-agent检测等。这些方案通常基于人机识别、ip地址限制和请求头检测等机制,以识别和阻止爬虫的访问。然而,验证码对用户体验不友好,可能导致访问困难;并且,上述方案缺乏可信度和不可篡改性,难以确保爬虫检测结果的可靠性。例如,上述方案在检测时,先从待分析信息中提取出目标信息保存,再基于目标信息进行爬虫检测,若在该过程中爬虫检测设备中的目标信息被篡改,则会导致爬虫检测结果不准确、不可信任的情况。
27.针对上述情况,本技术实施例提供了一种基于区块链的反爬虫方法、装置、电子设备及可读存储介质,通过将区块链技术应用到反爬中,可提高爬虫检测的可靠性和准确性,进而通过阻止恶意爬虫访问,保护网站的安全和隐私。
28.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
29.请参照图1,图1为本技术实施例提供的电子设备100的方框示意图。所述电子设备100可以是,但不限于,电脑、服务器等。所述电子设备100包括存储器110、处理器120及通信单元130。所述存储器110、处理器120以及通信单元130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
30.其中,存储器110用于存储程序或者数据。所述存储器110可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
31.处理器120用于读/写存储器110中存储的数据或程序,并执行相应地功能。比如,存储器110中存储有基于区块链的反爬虫装置200,所述基于区块链的反爬虫装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中的软件功能模块。所述处理器120通过运行存储在存储器110内的软件程序以及模块,如本技术实施例中的基于区块链的反爬虫装置200,从而执行各种功能应用以及数据处理,即实现本技术实施例中的基于区块链的反爬虫方法。
32.通信单元130用于通过网络建立所述电子设备100与其它通信终端之间的通信连接,并用于通过所述网络收发数据。
33.应当理解的是,图1所示的结构仅为电子设备100的结构示意图,所述电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
34.请参照图2,图2为本技术实施例提供的基于区块链的反爬虫方法的流程示意图。该方法可应用于第一设备,第一设备可以为上述电子设备100。下面对基于区块链的反爬虫方法的具体流程进行详细阐述。在本实施例中,所述方法可以包括步骤s110~步骤s130。
35.步骤s110,将接收到的由第二设备发送的目标访问请求所对应的第一目标访问信息保存到区块链网络的各区块链节点的分布式账本上。
36.在本实施例中,所述第一设备为接收到访问请求的设备,所述第二设备为发送访问请求的设备,具体可以结合实际需求设置。所述第一设备接收第二设备发送的目标访问请求,然后从该目标访问请求中进行信息提取,获得与该目标访问请求对应的第一目标访问信息,进而将所述第一目标访问信息发送给区块链网络进行保存,以使区块链网络的各区块链节点的分布式账本上均包括该第一目标访问信息。其中,各区块链节点基于共识机制维护所述分布式账本。
37.其中,所述目标访问请求为所述第一设备当前接收到的访问请求。所述第一设备在接收到任意一个第二设备发送的访问请求时,均可以基于该访问请求获得相应的访问信息,并将其存储到区块链网络的各区块链节点的分布式账本上。如此,分布式账本中可以包括各第二设备对应的访问信息。
38.可选地,在所述访问请求为访问被保护资源时,将该访问请求对应的访问信息保存到所述分布式账本中。
39.步骤s120,根据所述分布式账本中与所述第一目标访问信息对应的第二目标访问信息集,分析所述目标访问请求是否是爬虫访问请求。
40.在要分析判断该目标访问请求是否是爬虫访问请求时,所述第一设备可以从所述分布式账本上获得与所述第一目标访问信息对应的第二目标访问信息集。其中,所述第二目标访问信息集中包括所述第一目标访问信息,所述第二目标访问信息集中各条第二目标访问信息对应的访问发起方相同,也即,在将所述第二目标访问信息集对应的访问发起文命名为目标访问发起方,该目标发起方为所述第一目标访问信息对应的访问发起方。如此,在所述分布式账本中存储有历史访问信息时,可以结合历史访问信息进行判断。其中,所述第二目标访问信息集可以仅包括一条访问信息,也可以包括多条,具体可以结合实际需求确定。
41.其中,所述访问发起方可以表示一个设备,也可以表示一个用户,还可以表示一个ip地址,具体可以结合实际需求确定。也即,一个访问发起方对应的访问信息,可以是指同一设备发送的访问请求所对应的访问信息,也可以是使用同一个用户标识发送的访问请求所对应的访问信息,也可以是使用同一个ip地址发送的访问请求所对应的访问信息,其中,用户标识唯一。
42.在获得所述第二目标访问信息集的情况下,可以根据采用的判断方式,从所述第二目标访问信息集中提取相应的特征进行爬虫判断。比如,若判断方式需要根据ip地址进行判断,则可以从第二目标访问信息集中提取出请求对应的源ip地址,然后基于该源ip地址进行爬虫检测。可以理解的h是,上述基于ip地址进行爬虫检测的方式仅为举例说明,也可以采用其他方式进行爬虫检测。
43.如此,可以利用区块链的共识机制,通过多个节点的验证和共同处理,确保爬虫检测结果的准确性和可信度。
44.步骤s130,在所述目标访问请求是所述爬虫访问请求时,根据预设反爬措施对所述目标访问请求进行处理。
45.在确定所述目标访问请求不是爬虫访问请求时,则可以对该目标访问请求进行正
常处理,以使第二设备获得相应的请求设备。在确定所述目标访问请求是爬虫访问请求时,则可以使用预设反爬措施进行反爬,从而阻止恶意爬虫访问,保护网站的安全和隐私。其中,所述预设反爬措施具体可以结合实际情况设置,在此不进行具体限定。
46.本技术实施例通过利用区块链的分布式存储和共识机制,增强了数据的安全性和不可篡改性,从而提高爬虫检测的可靠性和准确性;在检测到爬虫时通过阻止恶意爬虫访问,可保护网站的安全和隐私。
47.可选地,在本实施例中,所述第一设备在接收到所述目标访问请求的情况下,可以从该目标访问请求获得访问时间、用户标识、请求方式(比如,post、get)、请求信息等以组成所述第一目标访问信息。其中,所述请求信息可以用于确定数据抓取方式。可选地,所述请求信息可以包括:请求头、目标资源描述信息、数据获取方式等中的任意一项,其中,目标资源描述信息用于描述访问请求期望获得的资源。可以理解的是,每条访问信息均包括访问时间、用户标识、请求信息等。所述第一设备在获得所述第一目标访问信息后,可以将该第一目标访问信息发送给区块链网络进行保存。
48.可选地,在本实施例中,所述区块链网络中可以包括通信连接的一个第一区块链节点及至少1个第二区块链节点,所述第一区块链节点与所述第一设备通信连接。所述第一设备可以将所述第一目标访问信息发送给所述第一区块链接节点,所述第一区块链接节点可以通过区块链的广播机制、特定的交易或智能合约、或者共识算法等,使得各第二区块链其他节点获得该第一目标访问信息。这些机制确保了区块链网络中各个节点之间的信息同步和一致性,从而实现多节点验证的有效性和准确性。如此,可将第一目标访问信息保存到区块链的分布式账本上。
49.将访问信息保存到区块链的分布式账本,可以提供数据安全性、可信度、历史记录和溯源能力,以及去中心化的分布式存储。其中,数据安全性是指:区块链使用加密算法和去中心化的特性,可以确保访问信息的安全性;每个区块都包含了前一个区块的哈希值,通过这种链接方式形成了一个不可篡改的数据链,保护了数据的完整性。数据的可信度是指:区块链的共识机制要求多个节点对数据进行验证和共同维护,确保数据的一致性和可信度,因此,记录访问信息到区块链中可以增加数据的可信度,减少数据篡改的可能性。历史记录和溯源是指:通过将访问信息记录到区块链中,可以实现历史记录的保存和溯源能力;这样,当进行爬虫检测和反爬虫处理时,可以参考历史记录来辅助判断和决策,提高检测准确性。去中心化和分布式存储是指:区块链采用去中心化的存储方式,将访问信息分布在多个节点上;这种分布式存储方式可以提高系统的鲁棒性和抗攻击能力,防止单点故障和数据丢失的风险。
50.请参照图3,图3为图2中步骤s120包括的子步骤的流程示意图。在本实施例中,步骤s120可以包括子步骤s121~子步骤s123。
51.子步骤s121,分别从各区块链节点获得所述第二目标访问信息集。
52.在本实施例中,针对各区块链节点中的分布式账本,所述第一设备可以从该分布式账本中获得所述第二目标访问信息集,从而获得多个第二目标访问信息集。比如,若区块链网络中包括3个区块链节点,则从该3个区块链节点处分别获得一个第二目标访问信息集,一共得到3个第二目标访问信息集。
53.子步骤s122,针对各所述第二目标访问信息集,进行所述目标访问请求是否是所
述爬虫访问请求的初始判断,得到初始判断结果。
54.在本实施例中,所述第一设备可以采用任意的爬虫识别方式针对各所述第二目标访问信息集进行初始判断,从而得到各第二目标访问信息集对应的初始判断结果。其中,采用的爬虫识别方式具体可以结合实际需求设置,在此不进行具体限定。
55.作为一种可能的实现方式,可以通过图4所示方式获得所述初始判断结果。请参照图4,图4为图3中子步骤s122包括的子步骤的流程示意图。在本实施例中,子步骤s122可以包括子步骤s1221~子步骤s1223。
56.子步骤s1221,根据所述第二目标访问信息集分析得到待分析行为模式。
57.子步骤s1222,将所述待分析行为模式与存储的各爬虫行为模式分别进行比对,以得到所述待分析行为模式与存储的各爬虫行为模式的相似度。
58.子步骤s1223,根据获得的相似度获得所述初始判断结果。
59.在本实施例中,所述第二目标访问信息集中可以包括所述第二设备目标访问发起方对应的历史访问信息及所述第一目标访问信息,每条访问信息中包括访问时间、用户标识、请求方式、请求信息等,所述请求信息可以包括:目标资源描述信息、数据获取方式等中的任意一项。所述数据抓取方式包括数据抓取路径、数据获取方式及请求头中的至少一种。所述待分析行为模式及所述爬虫行为模式的特征种类可以均包括用户标识、请求频率、数据抓取方式等。如此,可进行用户标识、请求频率、数据抓取方式等分析。
60.其中,请求频率分析是指:可以分析访问请求的频率和时间间隔,检测是否存在过于频繁或过于规律的请求模式。正常用户通常具有一定的请求间隔和随机性,而爬虫可能以高频率、连续的方式进行数据抓取。
61.请求头分析是指:可以检查访问请求中的请求头信息,例如user-agent头部,以识别是否使用了常见的爬虫用户代理标识。常规的浏览器通常使用具有特定格式的user-agent,而爬虫可能使用自定义的或常见的爬虫代理标识。
62.数据抓取路径分析是指:可以分析访问请求的路径和访问顺序,以判断是否遵循正常用户的页面导航模式。爬虫可能会直接访问特定的目标页面或按照特定的页面结构进行顺序访问。
63.数据获取方式分析是指:可以检查数据获取的方式,例如是否通过api接口获取数据、是否通过解析网页html获取数据、是否通过模拟用户交互进行数据提取等。正常用户通常使用浏览器进行页面访问和交互,而爬虫可能使用程序化的方式获取数据。
64.在获得所述第二目标访问信息集的情况下,可以根据所述第二目标访问信息集及所述爬虫行为模式的特征种类提取相应的特征,从而得到所述第二目标访问信息集对应的待分析行为模式。然后,针对每一个爬虫行为模式,计算该爬虫行为模式与待分析行为模式的相似度。可选地,可以针对一个爬虫行为模式及待分析行为模式,计算两者每一种特征之间的特征相似度,进而根据获得的各种特征之间的特征相似度,获得该爬虫行为模式与待分析行为模式的相似度。
65.其中,可选地,可以采用各种相似度度量方法进行行为模式相似度的计算。比如,基于规则的匹配、机器学习算法等。其中,在基于规则的匹配方式中,爬虫行为模式中可以包括各种特征对应的匹配规则,若待分析模式中的任一种特征满足相应的匹配规则,则可以认为与该匹配规则对应的特征的特征相似度为该特征对应一个大于0的预设值;若不满
足,则可以认为与该匹配规则对应的特征的特征相似度为0;之后可汇总各种特征之间的特征相似度得到行为模式相似度。
66.在获得待分析行为模式与一个爬虫行为模式的相似度之后,可判断该相似度是否大于预设相似度,若大于,则可以确定目标访问请求是爬虫访问请求的初始判断结果;若大于,则可以确定出目标访问请求不是爬虫访问请求的初始判断结果。依次类推,可获得各第二访问信息集对应的初始判断结果。
67.子步骤s122,根据各所述第二目标访问信息集对应的所述初始判断结果,获得分析结果。
68.在本实施例中,在获得各第二访问信息集对应的初始判断结果的情况下,可以采用任意方式基于多个初始判断结果确定出分析结果。其中,所述分析结果用于表示所述目标访问请求是爬虫访问请求,或所述目标访问请求不是爬虫访问请求。
69.比如,可以采用多数决定法、权重评估法、阈值判断法、可信度评估法等。其中,多数决定法是指:如果大多数初始判断结果为目标访问请求不是爬虫访问请求,则分析结果为所述目标访问请求不是爬虫访问请求;反之,若大多数初始判断结果为目标访问请求是爬虫访问请求,则确定分析结果为所述目标访问请求是爬虫访问请求。权重评估法是指:预先设置了各区块链节点对应的权重,根据各初始判断结果对应的各区块链节点所对应的权重,最终确定出分析结果,权重大的区块链节点对应的初始判断结果对分析结果产生大的影响。阈值判断法是指:根据表示目标访问请求不是爬虫访问请求的初始判断结果的数量或者比例来判断分析结果,例如,若收到的数量或比例大于了设定的阈值,则确定分析结果为所述目标访问请求不是爬虫访问请求;反之,则确定分析结果为所述目标访问请求是爬虫访问请求。可信度评估法是指:根据各区块链节点的历史记录确定各区块链节点的可信度,比如,若区块链节点发生过故障,则该区块链节点的可信度较低,进而基于各初始判断结果对应的各区块链节点所对应的可信度,确定分析结果。如此,可以在多节点验证的基础上,增加分析结果的可靠性和准确性。
70.在获得的分析结果表示所述目标访问请求为爬虫访问请求时,可以针对该目标访问请求返回错误信息,或者返回重定向信息以重定向到其他页面等以进行反爬。
71.作为一种可能的实现方式,在获得分析结果的情况下,还可以将该分析结果保存到区块链网络的各区块链节点分布式账本上。所述第一设备可以根据所述区块链网络中存储的各分析结果及各分析结果对应的第二目标访问信息集,对存储的爬虫行为模式调整)(也即调优)和/或增加爬虫行为模式。其中,更新爬虫行为模式的具体时机可以结合实际需求设置,在此不进行具体限定,比如,间隔一个比较长的时间进行调整。
72.在本实施例中,基于区块链的分布式存储和共识机制,增强了数据的安全性和不可篡改性,进而提高爬虫检测的可靠性和准确性,减少误报和漏报的情况。并且,在检测到恶意爬虫访问时进行阻止,从而保护网站的安全和隐私。该方式还可以避免繁琐的人机验证操作,提升用户体验。如此,本技术实施例利用区块链的去中心化、不可篡改和可信任特性,提供了一种安全、可靠的爬虫检测和防御机制。
73.为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种基于区块链的反爬虫装置200的实现方式,可选地,该基于区块链的反爬虫装置200可以采用上述图1所示的电子设备100的器件结构。进一步地,请参照图5,图5为本技术实施例提供的基于区块
链的反爬虫装置200的方框示意图。需要说明的是,本实施例所提供的基于区块链的反爬虫装置200,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。所述基于区块链的反爬虫装置200可以包括:保存模块210、分析模块220及处理模块230。
74.所述保存模块210,用于将接收到的由第二设备发送的目标访问请求所对应的第一目标访问信息保存到区块链网络的各区块链节点的分布式账本上。其中,所述分布式账本中包括第二设备对应的访问信息。
75.所述分析模块220,用于根据所述分布式账本中与所述第一目标访问信息对应的第二目标访问信息集,分析所述目标访问请求是否是爬虫访问请求。其中,所述第二目标访问信息集中包括所述第一目标访问信息,并且对应的目标访问发起方为所述第一目标访问信息对应的访问发起方。
76.所述处理模块230,用于在所述目标访问请求是所述爬虫访问请求时,根据预设反爬措施对所述目标访问请求进行处理。
77.可选地,上述模块可以软件或固件(firmware)的形式存储于图1所示的存储器110中或固化于电子设备100的操作系统(operating system,os)中,并可由图1中的处理器120执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器110中。
78.本技术实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于区块链的反爬虫方法。
79.综上所述,本技术实施例提供一种基于区块链的反爬虫方法、装置、电子设备及可读存储介质,在接收到第二设备发送的目标访问请求时,基于该目标访问请求确定第一访问信息,并将第一访问信息存储到区块链网络的各区块链节点的分布式账本上,其中,分布式账本中包括第二设备对应的访问信息;之后,根据上述分布式账本中与第一目标访问信息对应的第二目标访问信息集,分析该目标访问请求是否是爬虫访问请求,若是,则根据预设反爬措施对该目标访问请求进行处理。其中,该第二目标访问信息集中包括上述第一目标访问信息,并且第二目标访问信息集对应的目标访问发起方为所述第一目标访问信息对应的访问发起方。如此,通过利用区块链的分布式存储和共识机制,可增强数据的安全性和不可篡改性,从而提高爬虫检测的可靠性和准确性;在检测到爬虫时阻止恶意爬虫访问,可保护网站的安全和隐私。
80.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
81.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部
分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
82.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
83.以上所述仅为本技术的可选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:
1.一种基于区块链的反爬虫方法,其特征在于,所述方法包括:将接收到的由第二设备发送的目标访问请求所对应的第一目标访问信息保存到区块链网络的各区块链节点的分布式账本上,其中,所述分布式账本中包括第二设备对应的访问信息;根据所述分布式账本中与所述第一目标访问信息对应的第二目标访问信息集,分析所述目标访问请求是否是爬虫访问请求,其中,所述第二目标访问信息集中包括所述第一目标访问信息,并且对应的目标访问发起方为所述第一目标访问信息对应的访问发起方;在所述目标访问请求是所述爬虫访问请求时,根据预设反爬措施对所述目标访问请求进行处理。2.根据权利要求1所述的方法,其特征在于,所述根据所述分布式账本中与所述第一目标访问信息对应的第二目标访问信息集,分析所述目标访问请求是否是爬虫访问请求,包括:分别从各区块链节点获得所述第二目标访问信息集;针对各所述第二目标访问信息集,进行所述目标访问请求是否是所述爬虫访问请求的初始判断,得到初始判断结果;根据各所述第二目标访问信息集对应的所述初始判断结果,获得分析结果,其中,所述分析结果用于表示所述目标访问请求是爬虫访问请求。3.根据权利要求2所述的方法,其特征在于,所述针对各所述第二目标访问信息集,进行所述目标访问请求是否是所述爬虫访问请求的初始判断,得到初始判断结果,包括:根据所述第二目标访问信息集分析得到待分析行为模式;将所述待分析行为模式与存储的各爬虫行为模式分别进行比对,以得到所述待分析行为模式与存储的各爬虫行为模式的相似度;根据获得的相似度获得所述初始判断结果。4.根据权利要求3所述的方法,其特征在于,所述第二目标访问信息集中包括所述目标访问发起方对应的历史访问信息及所述第一目标访问信息,每条访问信息中包括访问时间、用户标识、请求信息,所述待分析行为模式及所述爬虫行为模式的特征种类均包括用户标识、请求频率、数据抓取方式,所述数据抓取方式基于所述请求信息确定,所述将所述待分析行为模式与存储的各爬虫行为模式分别进行比对,以得到所述待分析行为模式与存储的各爬虫行为模式的相似度,包括:针对所述待分析行为模式及一个爬虫行为模式,计算同一种特征之间的特征相似度;根据获得的各种特征之间的特征相似度,获得所述待分析行为模式与该爬虫行为模式的相似度。5.根据权利要求4所述的方法,其特征在于,所述数据抓取方式包括数据抓取路径、数据获取方式及请求头中的至少一种。6.根据权利要求3所述的方法,其特征在于,所述方法还包括:根据获得的分析结果及对应的所述第二目标访问信息集,对存储的爬虫行为模式调整和/或增加爬虫行为模式。7.根据权利要求1-6中任意一项所述的方法,其特征在于,所述在所述目标访问请求是所述爬虫访问请求时,根据预设反爬措施对所述目标访问请求进行处理,包括:
针对所述目标访问请求返回错误信息,或者返回重定向信息以重定向到其他页面。8.一种基于区块链的反爬虫装置,其特征在于,所述装置包括:保存模块,用于将接收到的由第二设备发送的目标访问请求所对应的第一目标访问信息保存到区块链网络的各区块链节点的分布式账本上,其中,所述分布式账本中包括第二设备对应的访问信息;分析模块,用于根据所述分布式账本中与所述第一目标访问信息对应的第二目标访问信息集,分析所述目标访问请求是否是爬虫访问请求,其中,所述第二目标访问信息集中包括所述第一目标访问信息,并且对应的目标访问发起方为所述第一目标访问信息对应的访问发起方;处理模块,用于在所述目标访问请求是所述爬虫访问请求时,根据预设反爬措施对所述目标访问请求进行处理。9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现权利要求1-7中任意一项所述的基于区块链的反爬虫方法。10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任意一项所述的基于区块链的反爬虫方法。

技术总结
本申请的实施例提供了一种基于区块链的反爬虫方法、装置及电子设备,涉及计算机技术领域。该方法包括:将接收到的由第二设备发送的目标访问请求所对应的第一目标访问信息保存到区块链网络的各区块链节点的分布式账本上;根据分布式账本中与第一目标访问信息对应的第二目标访问信息集,分析目标访问请求是否是爬虫访问请求,第二目标访问信息集中包括第一目标访问信息,且对应的目标访问发起方为第一目标访问信息对应的访问发起方;在目标访问请求是爬虫访问请求时,根据预设反爬措施对目标访问请求进行处理。如此,通过将区块链技术应用到反爬中,可提高爬虫检测的可靠性和准确性,进而通过阻止恶意爬虫访问,保护网站的安全和隐私。全和隐私。全和隐私。


技术研发人员:罗程
受保护的技术使用者:北京知道创宇信息技术股份有限公司
技术研发日:2023.07.11
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐