CN107025230A - 网络爬虫的处理方法及装置 - Google Patents
网络爬虫的处理方法及装置 Download PDFInfo
- Publication number
- CN107025230A CN107025230A CN201610065969.6A CN201610065969A CN107025230A CN 107025230 A CN107025230 A CN 107025230A CN 201610065969 A CN201610065969 A CN 201610065969A CN 107025230 A CN107025230 A CN 107025230A
- Authority
- CN
- China
- Prior art keywords
- page
- link
- crawled
- task
- type
- 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.)
- Granted
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/951—Indexing; Web crawling techniques
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种网络爬虫的处理方法及装置,涉及互联网技术领域,解决了现有的网络爬虫运行过程中出现的爬取任务拥塞的问题。本发明的方法包括:判断待爬取页面的类型,所述待爬取页面的类型包括:内容页面和目录页面;将所述待爬取页面的任务以先进先出的处理顺序保存在任务队列中;当确定爬取任务拥塞时对任务队列进行整理,将类型为目录页面的待爬取页面的任务放置在所述任务队列的队列尾部。本发明主要用于提高网络爬虫的爬取效率。
Description
技术领域
本发明涉及互联网技术领域,特别是涉及一种网络爬虫的处理方法及装置。
背景技术
网络爬虫是一种按照一定的规则,自动的抓取网络信息的程序或者脚本。网络爬虫从网站的某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其他链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。由于网络爬虫在爬取网络信息时,是通过链接来爬取每个页面的,在爬取过程中会遇到由于获取的链接数量过多,使得爬虫的爬取任务呈现指数级增长的情况。在这种情况下,如果爬虫的爬取能力不足,就会造成爬取任务的拥塞,从而影响到整个网络爬虫的效率。
为了避免上述问题,现有技术通常使用三种方法进行应对。一是重启爬虫:让爬虫重新开始爬取某些任务,这样做可以保证不会阻塞优先级比较高的任务的爬取;但是由于此方法是直接重启爬虫系统,所以会丢失正在运行的任务,破坏当前的运行环境,从而对某些正在运行的任务造成损害。二是增添限定条件,将爬虫的爬取任务倍增的可能性降低;这种方法理论上能够避免爬虫的拥塞,但是由于限定条件的不确定性,所以在实际应用环境中实现度不高,往往不能满足避免拥塞的需求。三是设置优先级,优先运行重要的任务;这种方法能够保证重要任务的完成,但是从整体上对于爬虫来说仍然会降低运行效率,某些任务甚至永远不能完成,而当某些重要任务需要同时被完成时,仍然会出现拥塞现象。
发明内容
有鉴于此,本发明提出了一种网络爬虫的处理方法及装置,主要目的在于解决网络爬虫运行过程中出现的爬取任务拥塞的问题。
依据本发明的第一个方面,本发明提出了一种网络爬虫的处理方法,包括:
判断待爬取页面的类型,所述待爬取页面的类型包括:内容页面和目录页面;
将所述待爬取页面的任务以先进先出的处理顺序保存在任务队列中;
当确定爬取任务拥塞时对任务队列进行整理,将类型为目录页面的待爬取页面的任务放置在所述任务队列的队列尾部。
依据本发明的第二个方面,本发明提出了一种网络爬虫的处理装置,包括:
判断单元,用于判断待爬取页面的类型,所述待爬取页面的类型包括:内容页面和目录页面;
保存单元,用于将所述待爬取页面的任务以先进先出的处理顺序保存在任务队列中;
整理单元,用于当确定爬取任务拥塞时对任务队列进行整理,将类型为目录页面的待爬取页面的任务放置在所述任务队列的队列尾部。
借由上述技术方案,本发明实施例提供的网络爬虫的处理方法及装置,能够通过判断待爬取页面的类型,所述待爬取页面的类型包括:内容页面和目录页面;将所述待爬取页面的任务以先进先出的处理顺序保存在任务队列中;当确定爬取任务拥塞时对任务队列进行整理,将类型为目录页面的待爬取页面的任务放置在所述任务队列的队列尾部。由于网络爬虫的爬取任务拥塞主要是由于从目录页面中提取到的页面链接过多造成的,因此本发明将目录页面的任务放置在已保存待爬取页面的任务的任务队列尾部,使得爬虫首先爬取能够提供有效信息的内容页面,延迟爬取造成拥塞的目录页面,从而有效降低待爬取页面的增长速度,缓解爬取任务拥塞的情况。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种网络爬虫的处理方法的流程图;
图2示出了本发明实施例提供的一种网络爬虫的处理装置的组成框图;
图3示出了本发明实施例提供的另一种网络爬虫的处理装置的组成框图。
具体实施方式
下面将参照附图更加详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
由于网络爬虫是通过页面链接来爬取页面信息的,网络爬虫从网站的某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其他链接地址,然后通过这些链接地址寻找下一个网页。因此,爬虫在爬取过程中经常会遇到由于页面链接过多,爬取任务呈现指数级增长的情况。在这种情况下,如果爬虫的爬取能力不足,就会造成爬虫任务的拥塞,从而影响到整个网络爬虫的效率。
由于网络爬虫的运行具有上述特点,因此在网络爬虫的运行过程中经常会出现爬取任务拥塞的问题。为了解决上述问题,本发明实施例提供了一种网络爬虫的处理方法,如图1所示,该方法包括:
101、判断待爬取页面的类型。
由于网络爬虫在爬取网络信息时需要爬取大量的页面,在爬取的大量页面中,某些页面是爬虫爬取的最终目标,包含爬虫需要爬取的有效信息,这些页面在本发明实施例中被称为内容页面;而另外一些页面不是爬虫爬取的最终目标,爬虫只是从这些页面中获取通向其他页面的链接,这些页面在本发明实施例中被称为目录页面。由于目录页面中包含有通向其他页面的链接,因此当爬虫大量的爬取目录页面后,就会获取到数量过多的页面链接,从而使得爬虫的爬取任务呈现指数级增长,造成爬取任务拥塞的情况发生。为了避免爬虫大量的爬取目录页面,在爬取页面时就需要确定待爬取页面的类型。因此,本发明实施例需要执行步骤101判断待爬取页面的类型。其中,待爬取页面的类型包括:内容页面和目录页面。
102、将所述待爬取页面的任务以先进先出的处理顺序保存在任务队列中。
当通过步骤101判断待爬取页面的类型之后,就需要将待爬取页面的任务进行保存,以便后续从保存记录中获取待爬取页面的任务进行页面信息的爬取。由于保存记录中的待爬取页面数量很大,为了避免从保存记录中获取待爬取页面的任务出现混乱,因此需要按照预设的规则进行保存,本发明实施例对待爬取页面的任务进行保存的规则是为了后续能够有序处理保存记录中的待爬取页面的任务,因此本发明实施例在步骤101之后,还需要执行步骤102将所述待爬取页面的任务以先进先出的处理顺序保存在任务队列中。
103、当确定爬取任务拥塞时对任务队列进行整理,将类型为目录页面的待爬取页面的任务放置在所述任务队列的队列尾部。
当在步骤102中将待爬取页面的任务进行保存之后,就可以从任务队列中按照设定的处理顺序爬取页面。由于任务队列中存在类型为内容页面的待爬取页面的任务和类型为目录页面的待爬取页面的任务,而目录页面中包含有通向其他页面的链接,因此当爬虫大量的爬取类型为目录页面的待爬取页面的任务后,就会使得爬虫的爬取任务呈现指数级增长,造成爬取任务拥塞的情况发生。因此当确定爬取任务拥塞时,本发明实施例需要执行步骤103对任务队列进行整理,将类型为目录页面的待爬取页面的任务放置在所述任务队列的队列尾部。由于在本发明实施例中,爬虫是从任务队列中按照待爬取页面的任务的先进先出的顺序进行处理的,因此将类型为目录页面的待爬取页面的任务放置在任务队列的队列尾部,能够使得造成爬取任务拥塞的目录页面被延迟爬取,有效降低了待爬取页面增长的速度,缓解爬取任务拥塞的情况。
本发明实施例提供的网络爬虫的处理方法,能够通过判断待爬取页面的类型,所述待爬取页面的类型包括:内容页面和目录页面;将所述待爬取页面的任务以先进先出的处理顺序保存在任务队列中;当确定爬取任务拥塞时对任务队列进行整理,将类型为目录页面的待爬取页面的任务放置在所述任务队列的队列尾部。由于网络爬虫的爬取任务拥塞主要是由于从目录页面中提取到的页面链接过多造成的,因此本发明将目录页面的任务放置在已保存待爬取页面的任务的任务队列尾部,使得爬虫首先爬取能够提供有效信息的内容页面,延迟爬取造成拥塞的目录页面,从而有效降低待爬取页面的增长速度,缓解爬取任务拥塞的情况。
为了更好的对上述图1所示的方法进行理解,作为对上述实施方式的细化和扩展,本发明实施例将针对图1中的各步骤进行详细说明。
由于爬虫在爬取网络信息时需要获取页面的内容,在爬虫爬取的页面中存在不同类型的页面,其中一类页面包含有需要被爬取的有效信息,这类页面是爬虫爬取的最终目标,可以称为内容页面;另一类页面包含有通向其他页面尤其是内容页面的链接,这类页面可以称为目录页面。目录页面通常不是爬虫爬取的最终目标,并且由于目录页面包含大量的通向其他页面的链接,因此当爬虫爬取大量目录页面时会导致爬取任务的指数级增长,由此导致爬取任务拥塞的情况发生。因此爬虫在爬取页面信息之前,需要判断待爬取页面的类型,判断待爬取页面为内容页面还是目录页面。
由于爬虫在爬取网络信息时通常是通过链接来爬取每个页面的,因此本发明实施例中待爬取页面的任务包括链接地址,也就是可以在任务队列中将待爬取页面的页面链接进行保存。进一步的,本发明实施例在判断待爬取页面的类型时,可以通过确定待爬取页面中提取的页面链接的类型,得到所述页面链接对应的待爬取页面的类型。其中,从待爬取页面中提取的页面链接的类型包括:内容页面链接和目录页面链接。也就是对待爬取页面中提取的页面链接进行分类,确定提取的页面链接属于内容页面链接还是目录页面链接。相应的,内容页面链接对应内容页面,目录页面链接对应目录页面。
具体的,本发明实施例在确定待爬取页面中提取的页面链接的类型时,可以通过不同的方式进行处理。作为一种可选的实施方式,本发明实施例可以通过检测提取的页面链接的格式,将待爬取页面的页面链接分为内容页面链接或目录页面链接,从而确定待爬取页面属于内容页面还是目录页面。也就是将检测的待爬取页面的页面链接的格式与默认的规则进行比对,即可判断待爬取页面的类型。其中,默认的规则是通过人工方式将一部分页面链接的格式设定为内容页面链接,将另一部分页面链接的格式设定为目录页面链接。例如,当页面链接以.html结尾时,可以设定这个页面链接对应内容页面;当页面链接以.com或者.cn结尾时,可以设定这个页面链接对应目录页面。作为另一种可选的实施方式,本发明实施例可以通过设置爬虫自学习的方式,让爬虫在解析页面的过程中确定页面类型后,将确定了页面类型的页面链接的格式进行记录,并从大量的同一类型的页面链接中提取出对应的链接规则,并将提取出的对应的链接规则作为预设的链接规则,所述预设的链接规则包含有内容页面的链接规则以及目录页面的链接规则,爬虫根据预设的链接规则可以将提取的页面链接分为内容页面链接或目录页面链接,从而能够自主判断待爬取页面的类型。例如,预设的链接规则包括:当页面链接的结尾为一串数字或字符串时,可以将该页面链接确定为内容页面链接,对应内容页面;当页面链接仅包含一级域名时,可以将该页面链接确定为目录页面链接,对应目录页面。
当通过对待爬取页面的页面链接进行分类,确定了待爬取页面的类型之后,就需要对待爬取页面的任务进行保存,也就是保存待爬取页面的页面链接,以便爬虫从保存记录中获取页面链接进行爬取。由于保存记录中存储有大量的页面链接,若随机对待爬取页面的页面链接进行保存,使得爬虫随机从保存记录中获取页面链接进行爬取,就会造成保存记录中待爬取页面的处理混乱,因此本发明实施例需要按照一定的规则对待爬取页面的页面链接进行保存,使得爬虫能够有序的获取页面链接进行处理。作为一种可选的实施方式,本发明实施例可以将待爬取页面的页面链接置于队列类型的存储结构中,也就是本发明实施例中的任务队列中。由于队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。队列的数据元素又称为队列元素,在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又称为先进先出(FIFO—first in first out)线性表。通过将待爬取页面的页面链接置于队列类型的存储结构中,可以使爬虫按照先进先出的处理顺序从队列类型的存储结构中获取页面链接进行爬取。例如,本发明实施例在队列的形成过程中,可以利用线性链表的原理来生成一个队列,队列采用FIFO,新元素(等待进入队列的页面链接)总是被插入到链表的尾部,而爬虫获取页面链接的时候总是从链表的头部开始读取,每次读取一个元素,就释放一个元素,因而不存在溢出等问题,由于链表由结构体间接而成,从而遍历方便。
当将待爬取页面的页面链接按照上述规则进行有序保存后,爬虫就可以按照先进先出的处理顺序从队列类型的存储结构中获取页面链接进行爬取。由于爬虫从队列类型的存储结构中获取的页面链接既有内容页面链接,又有目录页面链接,而目录页面中又包含许多通向其他页面的页面链接,因此当爬虫爬取到目录页面链接后,会得到许多其他页面的页面链接,这些页面链接会被保存在队列中,尤其是当爬虫连续的爬取到多个目录页面链接后,会使得队列中的爬取任务呈现指数级增长,当待爬取页面的增长速度大于消耗速度时,会出现爬取任务拥塞,严重影响了爬虫的工作效率。因此,在本发明实施例中当监测到爬取任务拥塞时,需要对保存有页面链接的任务队列进行整理。由于任务队列中的页面链接按照先进先出的处理顺序被爬虫进行爬取,因此当爬取任务拥塞时,必须避免爬虫继续从任务队列中获取目录页面链接进行爬取。具体的,作为一种可选的实施方式,本发明实施例在爬取页面时,可以将获取的目录页面链接放置在队列尾部,也就是在爬虫按照先进先出的处理顺序获取页面链接时,若获取到内容页面链接,则进行爬取,若获取到目录页面链接,则将目录页面链接放置在队列尾部。这种情况下能够保证包含有效爬取信息的内容页面被优先爬取,而且造成爬取任务拥塞的目录页面被延迟爬取,有效的降低了待爬取页面的增长速度,缓解了拥塞的情况。
当通过上述方式使得爬取任务拥塞的情况消失后,也就是确定爬取任务拥塞解除时,就可以停止对保存有页面链接的任务队列进行整理,也就是停止将目录页面链接放置在任务队列的尾部。这里需要说明的是,由于本发明实施例中,爬虫获取页面链接的时候总是从链表(队列)的头部开始读取,每次读取一个元素(页面链接),就释放一个元素(页面链接),因此待爬取页面具有消耗速度;而爬虫爬取到目录页面时会得到通向其他页面的页面链接,这些页面链接会被保存在任务队列中,因此待爬取页面具有增长速度。基于上述特点,本发明实施例在确定爬取任务拥塞或者确定爬取任务拥塞解除时,可以通过检测待爬取页面的增长速度以及消耗速度来确定。例如,当待爬取页面的增长速度大于消耗速度,且当前待爬取页面总数已经大于第一预设阈值时,可以确定当前发生了拥塞;当待爬取页面的消耗速度大于增长速度,且当前待爬取页面总数小于第二预设阈值时,可以确定拥塞已经解除。这里的第一预设阈值与第二预设阈值可以相同也可以不同,第一预设阈值与第二预设阈值的设定取决于当前积压的待爬取页面处理完成所需的时间。
本发明实施例通过将待爬取页面的页面链接进行分类后保存在队列类型的存储结构中,将分类后的待爬取页面进行先进先出的有序爬取,由于爬虫一般来讲都是针对性的爬取特定的网页即内容页面,这时内容页面一般会成为一条爬取路径的终点,而目录页面会产生其他页面链接,将目录页面放置在队尾后使得目录页面处理延后,不仅能保证有效信息被爬虫及时爬取,而且不会丢失任何信息。与现有的方案相比,本发明能够做到不丢失爬取数据,并且能主动缓解爬取任务拥塞的情况。
进一步的,作为对上述图1所示方法的应用,本发明实施例还提供了一种网络爬虫的处理装置,如图2所示,该装置包括:判断单元21、保存单元22以及整理单元23,其中,
判断单元21,用于判断待爬取页面的类型,所述待爬取页面的类型包括:内容页面和目录页面;
保存单元22,用于将所述待爬取页面的任务以先进先出的处理顺序保存在任务队列中;
整理单元23,用于当确定爬取任务拥塞时对任务队列进行整理,将类型为目录页面的待爬取页面的任务放置在所述任务队列的队列尾部。
进一步的,判断单元21用于确定待爬取页面中提取的页面链接的类型,所述页面链接的类型包括:内容页面链接和目录页面链接;还用于根据提取的页面链接的类型确定所述页面链接对应的待爬取页面的类型。
进一步的,判断单元21用于通过检测提取的页面链接的格式将提取的页面链接分为内容页面链接或目录页面链接;还用于根据预设的链接规则将提取的页面链接分为内容页面链接或目录页面链接,所述预设的链接规则为爬虫解析各个页面时确定各个页面的类型,记录各个页面的链接格式,并从记录的内容页面的链接格式以及目录页面的链接格式中分别提取出对应的链接规则。
进一步的,如图3所示,所述装置还包括:
确定单元24,用于当确定爬取任务拥塞解除时,停止对任务队列进行整理。
进一步的,如图3所示,确定单元24包括:
检测模块241,用于检测待爬取页面的增长速度以及消耗速度的大小;
确定模块242,用于当增长速度大于消耗速度并且当前待爬取页面的总数大于第一预设阈值时,确定爬取任务拥塞;还用于当消耗速度大于增长速度并且当前待爬取页面的总数小于第二预设阈值时,确定爬取任务拥塞解除。
本发明实施例提供的网络爬虫的处理装置,能够通过判断待爬取页面的类型,所述待爬取页面的类型包括:内容页面和目录页面;将所述待爬取页面的任务以先进先出的处理顺序保存在任务队列中;当确定爬取任务拥塞时对任务队列进行整理,将类型为目录页面的待爬取页面的任务放置在所述任务队列的队列尾部。由于网络爬虫的爬取任务拥塞主要是由于从目录页面中提取到的页面链接过多造成的,因此本发明将目录页面的任务放置在已保存待爬取页面的任务的任务队列尾部,使得爬虫首先爬取能够提供有效信息的内容页面,延迟爬取造成拥塞的目录页面,从而有效降低待爬取页面的增长速度,缓解爬取任务拥塞的情况。
此外,本发明实施例的网络爬虫的处理装置通过将待爬取页面的页面链接进行分类后保存在队列类型的存储结构中,将分类后的待爬取页面进行先进先出的有序爬取,由于爬虫一般来讲都是针对性的爬取特定的网页即内容页面,这时内容页面一般会成为一条爬取路径的终点,而目录页面会产生其他页面链接,将目录页面放置在队尾后使得目录页面处理延后,不仅能保证有效信息被爬虫及时爬取,而且不会丢失任何信息。与现有的方案相比,本发明实施例的网络爬虫的处理装置能够做到不丢失爬取数据,并且能主动缓解爬取任务拥塞的情况。
所述网络爬虫的处理装置包括处理器和存储器,上述判断单元21、保存单元22、整理单元23以及确定单元24,均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决网络爬虫运行过程中出现的爬取任务拥塞的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:判断待爬取页面的类型,所述待爬取页面的类型包括:内容页面和目录页面;将所述待爬取页面的任务以先进先出的处理顺序保存在任务队列中;当确定爬取任务拥塞时对任务队列进行整理,将类型为目录页面的待爬取页面的任务放置在所述任务队列的队列尾部。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种网络爬虫的处理方法,其特征在于,所述方法包括:
判断待爬取页面的类型,所述待爬取页面的类型包括:内容页面和目录页面;
将所述待爬取页面的任务以先进先出的处理顺序保存在任务队列中;
当确定爬取任务拥塞时对所述任务队列进行整理,将类型为目录页面的待爬取页面的任务放置在所述任务队列的队列尾部。
2.根据权利要求1所述的方法,其特征在于,所述判断待爬取页面的类型包括:
确定待爬取页面中提取的页面链接的类型,所述页面链接的类型包括:内容页面链接和目录页面链接;
根据提取的页面链接的类型确定所述页面链接对应的待爬取页面的类型。
3.根据权利要求2所述的方法,其特征在于,所述确定待爬取页面中提取的页面链接的类型包括:
通过检测提取的页面链接的格式将提取的页面链接分为内容页面链接或目录页面链接;或者,
根据预设的链接规则将提取的页面链接分为内容页面链接或目录页面链接,所述预设的链接规则为爬虫解析各个页面时确定各个页面的类型,记录各个页面的链接格式,并从记录的内容页面的链接格式以及目录页面的链接格式中分别提取出对应的链接规则。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当确定爬取任务拥塞解除时,停止对所述任务队列进行整理。
5.根据权利要求4所述的方法,其特征在于,确定爬取任务是否拥塞包括:
检测待爬取页面的增长速度以及消耗速度;
当增长速度大于消耗速度并且当前待爬取页面的总数大于第一预设阈值时,确定爬取任务拥塞;
当消耗速度大于增长速度并且当前待爬取页面的总数小于第二预设阈值时,确定爬取任务拥塞解除。
6.一种网络爬虫的处理装置,其特征在于,所述装置包括:
判断单元,用于判断待爬取页面的类型,所述待爬取页面的类型包括:内容页面和目录页面;
保存单元,用于将所述待爬取页面的任务以先进先出的处理顺序保存在任务队列中;
整理单元,用于当确定爬取任务拥塞时对所述任务队列进行整理,将类型为目录页面的待爬取页面的任务放置在所述任务队列的队列尾部。
7.根据权利要求6所述的装置,其特征在于,所述判断单元用于确定待爬取页面中提取的页面链接的类型,所述页面链接的类型包括:内容页面链接和目录页面链接;还用于根据提取的页面链接的类型确定所述页面链接对应的待爬取页面的类型。
8.根据权利要求7所述的装置,其特征在于,所述判断单元用于通过检测提取的页面链接的格式将提取的页面链接分为内容页面链接或目录页面链接;还用于根据预设的链接规则将提取的页面链接分为内容页面链接或目录页面链接,所述预设的链接规则为爬虫解析各个页面时确定各个页面的类型,记录各个页面的链接格式,并从记录的内容页面的链接格式以及目录页面的链接格式中分别提取出对应的链接规则。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
确定单元,用于当确定爬取任务拥塞解除时,停止对所述任务队列进行整理。
10.根据权利要求9所述的装置,其特征在于,所述确定单元包括:
检测模块,用于检测保存的待爬取页面的增长速度以及消耗速度;
确定模块,用于当增长速度大于消耗速度并且当前待爬取页面的总数大于第一预设阈值时,确定爬取任务拥塞;还用于当消耗速度大于增长速度并且当前待爬取页面的总数小于第二预设阈值时,确定爬取任务拥塞解除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610065969.6A CN107025230B (zh) | 2016-01-29 | 2016-01-29 | 网络爬虫的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610065969.6A CN107025230B (zh) | 2016-01-29 | 2016-01-29 | 网络爬虫的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107025230A true CN107025230A (zh) | 2017-08-08 |
CN107025230B CN107025230B (zh) | 2020-12-29 |
Family
ID=59524284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610065969.6A Active CN107025230B (zh) | 2016-01-29 | 2016-01-29 | 网络爬虫的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107025230B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804240A (zh) * | 2018-04-25 | 2018-11-13 | 天津卓易云科技有限公司 | 一种队列数据的分发和处理算法 |
CN109145220A (zh) * | 2018-09-10 | 2019-01-04 | 北京知道创宇信息技术有限公司 | 数据处理方法、装置及电子设备 |
CN110750739A (zh) * | 2018-07-04 | 2020-02-04 | 北京国双科技有限公司 | 一种页面类型确定方法及装置 |
CN110968770A (zh) * | 2018-09-29 | 2020-04-07 | 北京国双科技有限公司 | 一种终止爬虫工具爬取的方法及装置 |
CN112559839A (zh) * | 2019-09-10 | 2021-03-26 | 北京国双科技有限公司 | 数据获取方法、装置、计算机设备以及存储介质 |
CN112579858A (zh) * | 2019-09-30 | 2021-03-30 | 北京国双科技有限公司 | 一种数据爬取方法及装置 |
CN112749360A (zh) * | 2019-10-30 | 2021-05-04 | 北京国双科技有限公司 | 网页分类方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110307467A1 (en) * | 2010-06-10 | 2011-12-15 | Stephen Severance | Distributed web crawler architecture |
CN102595503A (zh) * | 2012-02-20 | 2012-07-18 | 南京邮电大学 | 一种基于无线多媒体传感器网络的拥塞控制方法 |
CN103176985A (zh) * | 2011-12-20 | 2013-06-26 | 中国科学院计算机网络信息中心 | 一种及时高效的互联网信息爬取方法 |
CN103200125A (zh) * | 2013-03-28 | 2013-07-10 | 广东电网公司电力调度控制中心 | 电力数据网节点拥塞规避方法和系统 |
CN103778164A (zh) * | 2012-10-26 | 2014-05-07 | 广州市邦富软件有限公司 | 一种网页链接特征模式识别算法 |
CN103942309A (zh) * | 2014-04-18 | 2014-07-23 | 乐得科技有限公司 | 一种网络数据获取设备、方法及获取过程的实现方法 |
CN104836743A (zh) * | 2015-05-25 | 2015-08-12 | 杭州华三通信技术有限公司 | 一种拥塞控制方法及装置 |
-
2016
- 2016-01-29 CN CN201610065969.6A patent/CN107025230B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110307467A1 (en) * | 2010-06-10 | 2011-12-15 | Stephen Severance | Distributed web crawler architecture |
CN103176985A (zh) * | 2011-12-20 | 2013-06-26 | 中国科学院计算机网络信息中心 | 一种及时高效的互联网信息爬取方法 |
CN102595503A (zh) * | 2012-02-20 | 2012-07-18 | 南京邮电大学 | 一种基于无线多媒体传感器网络的拥塞控制方法 |
CN103778164A (zh) * | 2012-10-26 | 2014-05-07 | 广州市邦富软件有限公司 | 一种网页链接特征模式识别算法 |
CN103200125A (zh) * | 2013-03-28 | 2013-07-10 | 广东电网公司电力调度控制中心 | 电力数据网节点拥塞规避方法和系统 |
CN103942309A (zh) * | 2014-04-18 | 2014-07-23 | 乐得科技有限公司 | 一种网络数据获取设备、方法及获取过程的实现方法 |
CN104836743A (zh) * | 2015-05-25 | 2015-08-12 | 杭州华三通信技术有限公司 | 一种拥塞控制方法及装置 |
Non-Patent Citations (2)
Title |
---|
孙翌: "《用学科化服务技术与应用》", 31 January 2013, 上海:上海交通大学出版社 * |
董守斌 等: "《网络信息检索》", 30 April 2010, 西安:西安电子科技大学出版社 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804240A (zh) * | 2018-04-25 | 2018-11-13 | 天津卓易云科技有限公司 | 一种队列数据的分发和处理算法 |
CN108804240B (zh) * | 2018-04-25 | 2021-11-19 | 天津卓盛云科技有限公司 | 一种队列数据的分发和处理算法 |
CN110750739A (zh) * | 2018-07-04 | 2020-02-04 | 北京国双科技有限公司 | 一种页面类型确定方法及装置 |
CN110750739B (zh) * | 2018-07-04 | 2022-07-05 | 北京国双科技有限公司 | 一种页面类型确定方法及装置 |
CN109145220A (zh) * | 2018-09-10 | 2019-01-04 | 北京知道创宇信息技术有限公司 | 数据处理方法、装置及电子设备 |
CN109145220B (zh) * | 2018-09-10 | 2022-03-29 | 北京知道创宇信息技术股份有限公司 | 数据处理方法、装置及电子设备 |
CN110968770A (zh) * | 2018-09-29 | 2020-04-07 | 北京国双科技有限公司 | 一种终止爬虫工具爬取的方法及装置 |
CN110968770B (zh) * | 2018-09-29 | 2023-09-05 | 北京国双科技有限公司 | 一种终止爬虫工具爬取的方法及装置 |
CN112559839A (zh) * | 2019-09-10 | 2021-03-26 | 北京国双科技有限公司 | 数据获取方法、装置、计算机设备以及存储介质 |
CN112559839B (zh) * | 2019-09-10 | 2024-05-03 | 北京国双科技有限公司 | 数据获取方法、装置、计算机设备以及存储介质 |
CN112579858A (zh) * | 2019-09-30 | 2021-03-30 | 北京国双科技有限公司 | 一种数据爬取方法及装置 |
CN112749360A (zh) * | 2019-10-30 | 2021-05-04 | 北京国双科技有限公司 | 网页分类方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107025230B (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107025230A (zh) | 网络爬虫的处理方法及装置 | |
US10785241B2 (en) | URL attack detection method and apparatus, and electronic device | |
CN105608134B (zh) | 一种基于多线程的网络爬虫系统及其网页爬取方法 | |
US8800053B2 (en) | Executable content filtering | |
CN108038119A (zh) | 利用新词发现投资标的的方法、装置及存储介质 | |
CN106649362B (zh) | 网页爬取方法和装置 | |
CN104123280B (zh) | 文件比对方法和设备 | |
CN104572056B (zh) | 一种页面对比的方法及装置 | |
CN105589943B (zh) | 搜索结果页面的图片适应性处理的方法、装置和服务器 | |
CN107957999A (zh) | 一种网络爬虫获取网站数据的方法及装置 | |
CN105653949B (zh) | 一种恶意程序检测方法及装置 | |
CN111563093A (zh) | 一种联盟区块链冲突交易检测与规避系统及方法 | |
CN107015986A (zh) | 一种爬虫爬取网页的方法及装置 | |
CN112632358B (zh) | 一种资源链接获取方法、装置、电子设备及存储介质 | |
CN107045507A (zh) | 网页爬取方法及装置 | |
CN107025235A (zh) | 爬取网页的方法及装置 | |
CN103023883A (zh) | 基于ac自动机和后缀树的字符串匹配方法 | |
CN108170424A (zh) | 一种基于云知识库的自我扩展方法及系统 | |
CN109977328A (zh) | 一种url分类方法及装置 | |
CN104219271B (zh) | 基于多线程异步下载页面的多服务器同步方法 | |
CN110110182A (zh) | 一种适用于批量爬取的数据采集方法及系统 | |
CN112528125A (zh) | 避免内容重复推荐的方法、装置、电子设备及存储介质 | |
CN104461938B (zh) | 数据读取方法和装置 | |
CN105740260B (zh) | 提取模板文件数据结构的方法和装置 | |
CN106611118A (zh) | 申请登录凭证的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: Beijing Guoshuang Technology Co.,Ltd. Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing Applicant before: Beijing Guoshuang Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |