System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及爬虫调度管理,更具体地说,本专利技术涉及一种多线程网络爬虫调度管理方法及系统。
技术介绍
1、随着互联网的不断发展,网络爬虫在信息获取和数据分析等方向发挥着重要作用,传统的单线程爬虫在处理大规模数据时存在效率低下的问题,因此多线程网络爬虫调度管理方法及系统应运而生,旨在提高爬虫系统的并发处理能力、加速数据采集速度,并有效解决大规模数据爬取任务的挑战。
2、现有的大部分多线程网络爬虫工具在对相同的网页进行爬取时,这些网页内的图片可能存在部分更新或者不更新的情况,当对这些未更新的图片进行再次爬取存储时,容易获得相同图片,容易浪费云服务器的存储空间;并且,不便根据历史图片爬虫任务对实时图片爬虫任务选择合适的线程池规模量。
3、鉴于此,本专利技术提出一种多线程网络爬虫调度管理方法及系统以解决上述问题。
技术实现思路
1、为了克服现有技术的上述缺陷,为实现上述目的,本专利技术提供如下技术方案:一种多线程网络爬虫调度管理方法,包括:
2、s1、采集历史图片爬虫任务,基于历史图片爬虫任务构建多元线性回归模型与图片库,构建图片查重模型,通过图片查重模型对图片库内的图片进行查重;
3、s2、获取待爬取网页,基于待爬取网页创建实时图片爬虫任务,通过多元线性回归模型对实时图片爬虫任务进行分析,得到线程池规模量;
4、s3、基于线程池规模量创建线程池,通过线程池当前管理的任务对待爬取图片进行爬取,得到爬取图片;
5、s4
6、进一步地,所述采集历史图片爬虫任务,基于历史图片爬虫任务构建多元线性回归模型,包括:
7、s10、将爬取网页内含有图片标签超过z个的爬虫任务记为历史图片爬虫任务;
8、s11、采集多个历史图片爬虫任务对应的图片标签数量、url数量、线程池规模量和爬取时间;
9、s12、将同一历史图片爬虫任务内的图片标签数量、线程池规模量、url数量、爬取时间组成一个样本,将同一历史图片爬虫任务内的图片标签数量、爬取时间、url数量作为自变量,将同一历史图片爬虫任务内的线程池规模量作为因变量,将同一历史图片爬虫任务内的自变量、因变量输入多元线性回归模型中;
10、s13、预设为线程池规模量,为截距项,为图片标签数量,为图片标签数量的回归系数,为url数量,为url数量的回归系数,为爬取时间,为爬取时间的回归系数,是误差项,通过最小二乘法计算、、的回归系数,那么,得到多元线性回归关系式为:
11、。
12、进一步地,所述s1中,基于历史图片爬虫任务构建图片库,包括:
13、s20、创建一个图片库,并在该图片库中创建一个表,表中每张图片的相关信息包括:唯一标识符id、图片的url、图片的编码名称encoded_name以及是否被删除的标记is_deleted;
14、s21、对爬取的图片进行编码,生成唯一的编码名称;
15、s22、使用爬虫工具爬取目标网站的图片,将爬取的图片存储到图片库中,图片库设置在云服务器内;
16、s23、将表中每张图片的相关信息插入到图片库中,每张图片的id唯一。
17、进一步地,所述构建图片查重模型,通过图片查重模型对图片库内的图片进行查重,包括:
18、通过图片查重模型对图片库内的图片进行查重:将图片库中的图片逐一输入图片查重模型进行查重,得到每张图片的4个哈希值,将每张图片的4个哈希值与图片编码进行关联映射,利用哈希索引对图片库中的图片进行查重,检测是否存在相同哈希值的图片,若存在相同哈希值的图片,则对其进行删除,保留一张相同哈希值的图片;
19、其中,图片查重模型具体包括:
20、将需要查重的图片记为待查重图片,对待查重图片进行归一化处理;
21、将待查重图片分割成n个子图像,其中,n大于等于4,对4个子图像进行不同比例的缩小,以获得4个子图像,4个子图像分别命名为n1、n2、n3、n4;
22、将分割得到的n1、n2、n3、n4的子图像转换为灰度图像,得到4个灰度图像,4个灰度图像分别命名为h1、h2、h3、h4;
23、分别计算h1、h2、h3、h4对应4个灰度图像的平均灰度值;
24、遍历每一灰度图像的每个像素,将每个像素的灰度值与每一灰度图像的平均灰度值进行比较,将4个比对结果依次生成四个二进制串,得到待查重图片的4个哈希值;
25、利用哈希索引,检测图片库是否存在相同哈希值的图片;
26、若存在相同哈希值的图片,则认为待查重图片与图片库中的图片相同,无需爬取;若不存在相同哈希值的图片,则判定其为非相同图片,需要爬取。
27、进一步地,所述获取待爬取网页,基于待爬取网页创建实时图片爬虫任务,通过多元线性回归模型对实时图片爬虫任务进行分析,得到线程池规模量,包括:
28、s40、确定待爬取网页,通过待爬取网页创建实时图片爬虫任务,获取待爬取网页的当前url;
29、s41、通过网页解析器对当前url进行解析,得到当前url数量和当前图片标签数量;
30、s42、获取与当前url数量、当前图片标签数量相似的历史图片爬虫任务,记为相似历史图片爬虫任务,将相似历史图片爬虫任务的爬取时间记为当前爬取时间;
31、s43、将当前url数量、当前图片标签数量、当前爬取时间代入多元线性回归关系式,得到线程池规模量;
32、其中,获取与当前url数量、当前图片标签数量相似的历史图片爬虫任务,包括:
33、s420、将历史图片爬虫任务构成一个列表,每个历史图片爬虫任务作为一行,每行历史图片爬虫对应有图片标签数量、线程池规模量、url数量、爬取时间;
34、s421、通过绝对差值计算实时图片爬虫任务与历史图片爬虫任务中图片标签数量、url数量的相似度;
35、s422、将相似度值最高的历史图片爬虫任务记为相似历史图片爬虫任务。
36、进一步地,所述基于线程池规模量创建线程池,通过线程池当前管理的任务对待爬取图片进行爬取,得到爬取图片,包括;
37、s50、使用线程池规模量创建用于待爬取网页的线程池,爬虫工具将当前url按照分解策略生成多个子url,并将每个子url创建为一个任务分配给线程池,线程池对任务进行管理,并通过线程执行相应的爬取逻辑,其中,每个子url对应待爬取网页内的一张图片;
38、s51、通过线程池当前管理的线程对待爬取网页内的图片进行爬取,将待爬取网页内的图片记为待爬取图片;
39、s52、在对待爬取图片爬取的过程中,通过图片查重模型对待爬取图片进行查重。
40、进一步地,所述线程池对任务进行管理,并通过线程执行相应的爬取逻辑,包括:
41、s500、本文档来自技高网...
【技术保护点】
1.一种多线程网络爬虫调度管理方法,其特征在于,包括:
2.根据权利要求1所述的多线程网络爬虫调度管理方法,其特征在于,所述采集历史图片爬虫任务,基于历史图片爬虫任务构建多元线性回归模型,包括:
3.根据权利要求1所述的多线程网络爬虫调度管理方法,其特征在于,所述S1中,基于历史图片爬虫任务构建图片库,包括:
4.根据权利要求2所述的多线程网络爬虫调度管理方法,其特征在于,所述构建图片查重模型,通过图片查重模型对图片库内的图片进行查重,包括:
5.根据权利要求4所述的多线程网络爬虫调度管理方法,其特征在于,所述获取待爬取网页,基于待爬取网页创建实时图片爬虫任务,通过多元线性回归模型对实时图片爬虫任务进行分析,得到线程池规模量,包括:
6.根据权利要求5所述的多线程网络爬虫调度管理方法,其特征在于,所述基于线程池规模量创建线程池,通过线程池当前管理的任务对待爬取图片进行爬取,得到爬取图片,包括;
7.根据权利要求6所述的多线程网络爬虫调度管理方法,其特征在于,所述线程池对任务进行管理,并通过线程执行相应的爬取逻
8.根据权利要求6所述的多线程网络爬虫调度管理方法,其特征在于,所述通过图片查重模型对待爬取图片进行查重,包括:
9.根据权利要求8所述的多线程网络爬虫调度管理方法,其特征在于,所述对爬取图片以及待爬取图片对应的相同图片编码进行存储,包括:
10.一种多线程网络爬虫调度管理系统,其基于权利要求1至9中任一项所述的一种多线程网络爬虫调度管理方法,其特征在于,包括:
...【技术特征摘要】
1.一种多线程网络爬虫调度管理方法,其特征在于,包括:
2.根据权利要求1所述的多线程网络爬虫调度管理方法,其特征在于,所述采集历史图片爬虫任务,基于历史图片爬虫任务构建多元线性回归模型,包括:
3.根据权利要求1所述的多线程网络爬虫调度管理方法,其特征在于,所述s1中,基于历史图片爬虫任务构建图片库,包括:
4.根据权利要求2所述的多线程网络爬虫调度管理方法,其特征在于,所述构建图片查重模型,通过图片查重模型对图片库内的图片进行查重,包括:
5.根据权利要求4所述的多线程网络爬虫调度管理方法,其特征在于,所述获取待爬取网页,基于待爬取网页创建实时图片爬虫任务,通过多元线性回归模型对实时图片爬虫任务进行分析,得到线程池规模量,包括:
6...
【专利技术属性】
技术研发人员:李庆,陈增和,林兴武,刁奇标,
申请(专利权)人:深圳市豪斯莱科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。