网络图片的爬取方法及应用服务器与流程

文档序号:14072925阅读:335来源:国知局
本发明涉及通信
技术领域
,尤其涉及一种网络图片的爬取方法及应用服务器。
背景技术
:网页爬取指网页搜索集子系统中根据统一资源定位符(uniformresourcelocator,url)完成一篇页面爬取的进程或者线程。对于搜索引擎来说,网页爬取即网络蜘蛛是通过网页的链接地址来寻找网页,从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。然而目前的网页爬取过程中,特别是针对图片的爬取过程,虽然可以有效的爬取到目标图片,但并不能实时对爬取到的图片进行有效的整理分类,如此对于利用网页爬取的后续应用来说,限制了对网页爬取的使用,不利用后续应用的性能提升,影响了用户体验。技术实现要素:有鉴于此,本发明提出一种网络图片的爬取方法及应用服务器,在进行网页图片爬取的过程中,不仅可以快速的爬取到相应的目标图片,还可以根据预设策略获取对爬取到的图片进行自动的分类存储,实现了资源快速检索及分类整理的效果。首先,为实现上述目的,本发明提出一种应用服务器,所述应用服务器包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的网络图片的爬取程序,所述网络图片的爬取程序被所述处理器执行时实现如下步骤:获取目标网页的url;爬取所述目标网页上预定数量的图片;获取所述图片信息;根据所述图片信息创建文件夹并选取所述图片;及将具有相同所述图片信息的图片存储至同一个所述文件夹。可选地,所述获取所述图片信息的步骤,具体包括:拼接所述图片的url;及根据所述图片的url获取所述图片信息。可选地,所述拼接所述图片的url的步骤,具体包括:拼接所述目标网页的url、图片前缀、网页页码以及从目标网页链接至所述图片的链接数。可选地,所述根据所述图片信息创建文件夹并选取所述图片的步骤,具体包括:根据所述图片信息命名创建所述文件夹,并确定文件夹的路径;及使用beautifulsoup解析所述图片信息并获取图片及图片内容。可选地,所述具有相同图片信息的图片为具有相同url前缀和深度的图片。此外,为实现上述目的,本发明还提供一种网络图片的爬取方法,该方法应用于应用服务器,所述方法包括:获取目标网页的url;爬取所述目标网页上预定数量的图片;获取所述图片信息;根据所述图片信息创建文件夹并选取所述图片;及将具有相同所述图片信息的图片存储至同一个所述文件夹。可选地,所述获取所述图片信息的步骤,具体包括:拼接所述图片的url;及根据所述图片的url获取所述图片信息。可选地,所述拼接所述图片的url的步骤,具体包括:拼接所述目标网页的url、图片前缀、网页页码以及从目标网页链接至所述图片的链接数。可选地,所述根据所述图片信息创建文件夹并选取所述图片的步骤,具体包括:根据所述图片信息命名创建所述文件夹,并确定文件夹的路径;及使用beautifulsoup解析所述图片信息并获取图片及图片内容。可选地,所述具有相同图片信息的图片为具有相同url前缀和深度的图片。进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有网络图片的爬取程序,所述网络图片的爬取程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的网络图片的爬取方法的步骤。相较于现有技术,本发明所提出的应用服务器、网络图片的爬取方法及计算机可读存储介质,首先,获取目标网页的url;其次,爬取所述目标网页上预定数量的图片;然后,获取所述图片信息;接着,根据所述图片信息创建文件夹并选取所述图片;最后,将具有相同所述图片信息的图片存储至同一个所述文件夹。这样,可以避免现有技术中不能实时对爬取到的图片进行有效的整理分类的弊端。在进行网页图片爬取的过程中,不仅可以快速的爬取到相应的目标图片,还可以根据预设策略获取对爬取到的图片进行自动的分类存储,实现了资源快速检索及分类整理的效果。附图说明图1是本发明各个实施例一可选的应用环境示意图;图2是图1中应用服务器一可选的硬件架构的示意图;图3是本发明网络图片的爬取程序第一实施例的功能模块示意图;图4为本发明网络图片的爬取方法第一实施例的实施流程示意图;图5为本发明网络图片的爬取方法第二实施例的实施流程示意图;图6为本发明网络图片的爬取方法第三实施例的实施流程示意图。附图标记:移动终端1应用服务器2网络3存储器11处理器12网络接口13网络图片的爬取程序200第一获取模块201图片爬取模块202第二获取模块203创建模块204存储模块205本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。参阅图1所示,是本发明各个实施例一可选的应用环境示意图。在本实施例中,本发明可应用于包括,但不仅限于,移动终端1、应用服务器2、网络3的应用环境中。其中,所述移动终端1可以是移动电话、智能电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、导航装置、车载装置等等的可移动设备,以及诸如数字tv、台式计算机、笔记本、服务器等等的固定终端。所述应用服务器2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备,该应用服务器2可以是独立的服务器,也可以是多个服务器所组成的服务器集群。所述网络3可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(globalsystemofmobilecommunication,gsm)、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi、通话网络等无线或有线网络。其中,所述应用服务器2中通过所述网络3分别与一个或多个所述移动终端1(图中仅示出一个)通信连接,每一个所述移动终端1中均安装并运行有与所述应用服务器2对应的应用程序客户端(后文简称“移动终端客户端”)。所述移动终端客户端用于响应移动终端用户的操作,在所述移动终端客户端与所述应用服务器2之间创建长连接,以使所述移动终端客户端能够通过所述长连接与所述应用服务器2进行数据传输和交互。本实施例中,当所述应用服务器2内安装并运行有网络图片的爬取程序200时,首先,获取目标网页的url;其次,爬取所述目标网页上预定数量的图片;然后,获取所述图片信息;接着,根据所述图片信息创建文件夹并选取所述图片;最后,将具有相同所述图片信息的图片存储至同一个所述文件夹。这样,可以避免现有技术中不能实时对爬取到的图片进行有效的整理分类的弊端。在进行网页图片爬取的过程中,不仅可以快速的爬取到相应的目标图片,还可以根据预设策略获取对爬取到的图片进行自动的分类存储,实现了资源快速检索及分类整理的效果。参阅图2所示,是图1中应用服务器2一可选的硬件架构的示意图。本实施例中,所述应用服务器2可包括,但不仅限于,可通过系统总线相互通信连接存储器11、处理器12、网络接口13。需要指出的是,图2仅示出了具有组件11-13的应用服务器2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述应用服务器2的内部存储单元,例如该应用服务器2的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述应用服务器2的外部存储设备,例如该应用服务器2上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,所述存储器11还可以既包括所述应用服务器2的内部存储单元也包括其外部存储设备。本实施例中,所述存储器11通常用于存储安装于所述应用服务器2的操作系统和各类应用软件,例如所述网络图片的爬取程序200的程序代码等。此外,所述存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。所述处理器12在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述应用服务器2的总体操作,例如执行与所述移动终端1进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行所述的网络图片的爬取程序200等。所述网络接口13可包括无线网络接口或有线网络接口,该网络接口13通常用于在所述应用服务器2与其他电子设备之间建立通信连接。本实施例中,所述网络接口13主要用于通过所述网络3将所述应用服务器2与一个或多个所述移动终端1相连,在所述应用服务器2与所述一个或多个移动终端1之间的建立数据传输通道和通信连接。至此,己经详细介绍了本发明各个实施例的应用环境和相关设备的硬件结构和功能。下面,将基于上述应用环境和相关设备,提出本发明的各个实施例。首先,本发明提出一种网络图片的爬取程序200。参阅图3所示,是本发明网络图片的爬取程序200第一实施例的功能模块图。本实施例中,所述的网络图片的爬取程序200可以被分割成一个或多个模块,所述一个或者多个模块被存储于所述存储器11中,并由一个或多个处理器(本实施例中为所述处理器12)所执行,以完成本发明。例如,在图3中,所述的网络图片的爬取程序200可以被分割成第一获取模块201、图片爬取模块202、第二获取模块203、创建模块204及存储模块205。本发明所称的功能模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述网络图片的爬取程序200在所述应用服务器2中的执行过程。以下将就各功能模块201-205的功能进行详细描述。所述第一获取模块201,用于获取目标网页的统一资源定位符(uniformresourcelocator,url)。具体地,所述第一获取模块201,通过网页爬取应用程序(application)获取目标网页的url,所述网页爬取应用程序(application)通过python语言进行编写。在本实施例中,python语言是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是c/c++)很轻松地联结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对性能有特别要求的部分,用更合适的语言改写,比如3d游戏中的图形渲染模块,性能要求特别高,就可以用c/c++重写,而后封装为python可以调用的扩展类库。所述图片爬取模块202,用于爬取所述目标网页上预定数量的图片。具体地,所述图片爬取模块202通过循环命令控制所述网页爬取应用程序(application)循环爬取所述目标网页上预定数量的图片。在本实施例中,所述图片爬取模块202通过getpage函数去获取目标网页的url,同时可以爬取目标网页上预定数目的图片,比如爬取20张图片,具体的实现语句如下:defgetpage(self,pagenum):foriinrange(1,21)。所述第二获取模块203,用于获取所述图片信息。所述第二获取模块203,获取所述图片信息的步骤,主要通过以下方式实现:所述第二获取模块203,拼接所述图片的url;并根据所述图片的url获取所述图片信息。具体地,所述第二获取模块203还用于拼接所述目标网页的url、图片前缀、网页页码以及从目标网页链接至所述图片的链接数,这样以实现拼接所述图片的url的步骤。在本实施例中,所述图片信息可以为多张图片的url前缀和深度,而其中的深度信息即从目标链接至所述图片的链接数。比如搜索到某一网站,想点取某一图片,可能先要点击目标网页上的链接,根据链接的网站可能还需要再次点击一次链接才能获取目标图片,那么这几次的链接过程我们可以称之为深度。当然,在其他实施方式中,所述图片信息也可以是链接文本,比如一些对于多媒体、图片等文件,一般是通过链接的锚文本(即,链接文本)和相关的文件注释来判断这些文件的内容。例如有一个链接文字为“张曼玉照片”,其链接指向一张bmp格式的图片,那么网络蜘蛛就知道这张图片的内容是“张曼玉的照片”。这样,在搜索“张曼玉”和“照片”的时候都能让搜索引擎找到这张图片。所述创建模块204,用于根据所述图片信息创建文件夹并选取所述图片。具体地,所述创建模块204,根据所述图片信息命名创建所述文件夹,并确定文件夹的路径;并使用beautifulsoup解析所述图片信息并获取图片及图片内容。在本实施方式中,beautifulsoup是用python写的一个超文本标记语言(hypertextmark-uplanguage,html)/可扩展标识语言(extensiblemarkuplanguage,xml)的解析器,它可以很好的处理不规范标记并生成剖析树(parsetree)。它提供简单又常用的导航(navigating),搜索以及修改剖析树的操作。它可以大大节省编程时间。所述存储模块205,用于将具有相同所述图片信息的图片存储至同一个所述文件夹。本实施例中,具有相同图片信息的图片为具有相同url前缀和深度的图片。根据拼接的所述图片的url中的信息即可以判断出所述图片是否具有相同的url前缀和深度。比如,拥有相同的url前缀和深度时,判断为同一人,否则不为同一人。从上文可知,所述应用服务器2的所述接口定义模块201,所述第一获取模块201获取目标网页的url;所述图片爬取模块202爬取所述目标网页上预定数量的图片;所述第二获取模块203获取所述图片信息;所述创建模块204根据所述图片信息创建文件夹并选取所述图片;所述存储模块205将具有相同所述图片信息的图片存储至同一个所述文件夹。这样,可以避免现有技术中不能实时对爬取到的图片进行有效的整理分类的弊端。在进行网页图片爬取的过程中,不仅可以快速的爬取到相应的目标图片,还可以根据预设策略获取对爬取到的图片进行自动的分类存储,实现了资源快速检索及分类整理的效果。通过上述功能模块201-205,本发明所提出的网络图片的爬取程序200,首先,获取目标网页的url;其次,爬取所述目标网页上预定数量的图片;然后,获取所述图片信息;接着,根据所述图片信息创建文件夹并选取所述图片;最后,将具有相同所述图片信息的图片存储至同一个所述文件夹。这样,可以避免现有技术中不能实时对爬取到的图片进行有效的整理分类的弊端。在进行网页图片爬取的过程中,不仅可以快速的爬取到相应的目标图片,还可以根据预设策略获取对爬取到的图片进行自动的分类存储,实现了资源快速检索及分类整理的效果。此外,本发明还提出一种网络图片的爬取方法。参阅图4所示,是本发明网络图片的爬取方法第一实施例的实施流程示意图。在本实施例中,根据不同的需求,图4所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。步骤s401,获取目标网页的统一资源定位符(uniformresourcelocator,url)。具体地,所述应用服务器2,通过网页爬取应用程序(application)获取目标网页的url,所述网页爬取应用程序(application)通过python语言进行编写。在本实施例中,python语言是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是c/c++)很轻松地联结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对性能有特别要求的部分,用更合适的语言改写,比如3d游戏中的图形渲染模块,性能要求特别高,就可以用c/c++重写,而后封装为python可以调用的扩展类库。步骤s402,爬取所述目标网页上预定数量的图片。具体地,所述爬取所述目标网页上预定数量的图片的具体步骤将在本发明网络图片的爬取方法第二实施例(图5)进行详述。具体地,所述应用服务器2通过循环命令控制所述网页爬取应用程序(application)循环爬取所述目标网页上预定数量的图片。在本实施例中,所述应用服务器2通过getpage函数去获取目标网页的url,同时可以爬取目标网页上预定数目的图片,比如爬取20张图片,具体的实现语句如下:defgetpage(self,pagenum):foriinrange(1,21)。步骤s403,获取所述图片信息。步骤s404,根据所述图片信息创建文件夹并选取所述图片。具体地,所述根据所述图片信息创建文件夹并选取所述图片的具体步骤将在本发明网络图片的爬取方法第三实施例(图6)进行详述。步骤s405,将具有相同所述图片信息的图片存储至同一个所述文件夹。具体地,所述具有相同图片信息的图片为具有相同url前缀和深度的图片。根据拼接的所述图片的url中的信息即可以判断出所述图片是否具有相同的url前缀和深度。比如,拥有相同的url前缀和深度时,判断为同一人,否则不为同一人。从上文可知,所述应用服务器2获取目标网页的url;爬取所述目标网页上预定数量的图片;获取所述图片信息;根据所述图片信息创建文件夹并选取所述图片;将具有相同所述图片信息的图片存储至同一个所述文件夹。这样,可以避免现有技术中不能实时对爬取到的图片进行有效的整理分类的弊端。在进行网页图片爬取的过程中,不仅可以快速的爬取到相应的目标图片,还可以根据预设策略获取对爬取到的图片进行自动的分类存储,实现了资源快速检索及分类整理的效果。通过上述步骤s401-405,本发明所提出的网络图片的爬取方法,首先,获取目标网页的url;其次,爬取所述目标网页上预定数量的图片;然后,获取所述图片信息;接着,根据所述图片信息创建文件夹并选取所述图片;最后,将具有相同所述图片信息的图片存储至同一个所述文件夹。这样,可以避免现有技术中不能实时对爬取到的图片进行有效的整理分类的弊端。在进行网页图片爬取的过程中,不仅可以快速的爬取到相应的目标图片,还可以根据预设策略获取对爬取到的图片进行自动的分类存储,实现了资源快速检索及分类整理的效果。参阅图5所示,是本发明网络图片的爬取方法第二实施例的实施流程示意图。在本实施例中,根据不同的需求,图5所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。在本实施例中,所述获取所述图片信息的步骤,具体包括:步骤s501,拼接所述图片的url。步骤s502,根据所述图片的url获取所述图片信息。在本实施例中,所述应用服务器2拼接所述图片的url主要是通过以下方式:所述应用服务器2拼接所述目标网页的url、图片前缀、网页页码以及从目标网页链接至所述图片的链接数。在本实施例中,所述图片信息可以为多张图片的url前缀和深度,而其中的深度信息即从目标链接至所述图片的链接数。比如搜索到某一网站,想点取某一图片,可能先要点击目标网页上的链接,根据链接的网站可能还需要再次点击一次链接才能获取目标图片,那么这几次的链接过程我们可以称之为深度。当然,在其他实施方式中,所述图片信息也可以是链接文本,比如一些对于多媒体、图片等文件,一般是通过链接的锚文本(即,链接文本)和相关的文件注释来判断这些文件的内容。例如有一个链接文字为“张曼玉照片”,其链接指向一张bmp格式的图片,那么网络蜘蛛就知道这张图片的内容是“张曼玉的照片”。这样,在搜索“张曼玉”和“照片”的时候都能让搜索引擎找到这张图片。通过上述步骤s501-502,本发明所提出的网络图片的爬取方法,可以通过拼接所述图片的url,并根据所述图片的url获取所述图片信息。这样,可以快速的爬取到相应的目标图片。参阅图6所示,是本发明网络图片的爬取方法第三实施例的实施流程示意图。在本实施例中,根据不同的需求,图6所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。在本实施例中,所述根据所述图片信息创建文件夹并选取所述图片的步骤,具体包括:步骤s601,根据所述图片信息命名创建所述文件夹,并确定文件夹的路径。步骤s602,使用beautifulsoup解析所述图片信息并获取图片及图片内容。在本实施方式中,beautifulsoup是用python写的一个超文本标记语言(hypertextmark-uplanguage,html)/可扩展标识语言(extensiblemarkuplanguage,xml)的解析器,它可以很好的处理不规范标记并生成剖析树(parsetree)。它提供简单又常用的导航(navigating),搜索以及修改剖析树的操作。它可以大大节省编程时间。通过上述步骤s601-602,本发明所提出的网络图片的爬取方法,可以通过使用beautifulsoup解析所述图片信息并获取图片及图片内容。这样,可以大大节省编程时间。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
,均同理包括在本发明的专利保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1