基于网络爬虫的图像内容抓取研究

2020-12-03 01:54唐海涛
数码设计 2020年14期
关键词:网络爬虫

唐海涛

摘要:互联网是一个具有丰富资源和海量信息的数据库,它包含大量的文本图片和每天更新的内容,如何把这些数据搜索并展现出来为人们所利用显得至关重要。本文介绍使用网络爬虫抓取图像内容的研究现状、技术方法和问题处理,以望为之后的研究者提供一定的参考。

关键词:网络爬虫;图像抓取;正则表达式

中图分类号: TP391.3文献标识码:A文章编号:1672-9129(2020)14-0125-01

如今,一些搜索引擎可以很轻易地实现展现的功能,但是在为人们所用方面则存在一定的欠缺。现有的搜索引擎有着一定的局限性,有时候因为一些歧义的信息会导致人们运用搜索引擎搜索到的东西并不符合最初预想得到的内容,搜索引擎返回的结果可能包含大量不需要的内容,所以想要精确有效地从庞大的网络数据中获得想要的内容就需要一个灵活通用的爬虫工具。网络爬虫可以根据关键词和一些设定的条件,快速且精确地从网络的大量信息中筛选出需要的数据信息,例如一些图片和文本,这样便无需手动浏览网页去寻找下载了,省时省力,一举两得。随着大数据发展越来越快,大量数据的获取必不可少,批量的图像文本内容获取尤为重要。

1基于网络爬虫的图像内容抓取的研究意义

精确地抓取图片应用十分广泛,在机器学习领域,大量的图片可以用来进行模型训练,提高模型的准确率,从而为以后更精确地分类筛选提供条件。当需要某一类图片的时候,则无需上网在海量鱼目混杂的图片库里寻找相应图片,只需在抓取的图片里寻找即可,它缩小了搜寻范围,具有快速精准等特点。但图片的精确获取并不简单,这里以一个图片为例,如果想要下载一些水果苹果的图片,由于苹果这个词的含义多,它会出现不同概念上的苹果,苹果可以指水果的苹果也可以指的是电子产品的苹果,还可以指具有苹果文字的一张图片,所以网络爬虫爬取的图片可能并非最初想要的苹果水果的图片,因此将爬取的图片进行有效地筛选也是十分重要的一步。

2常见的网络爬虫技术

目前爬虫技术的研究热点和研究方向主要是以下三种:聚焦爬虫、智能爬虫技术、高性能爬虫技术。

2.1聚焦爬虫。聚焦爬虫具有定向,精确等特点,由于大多搜索引擎搜索到的网页内容并不完全符合用户的内心所想,为了解决这个问题,聚焦爬虫应运而生,聚焦爬虫是一种自动下载网页的程序,它根据目标主题,定向有选择地获取所需信息,聚焦爬虫的目标是“精”而非“广”,因此它爬取的内容都与目标主题相关,从而能够较好满足用户的需求。

2.2智能爬虫。智能爬虫具有更加灵活的特点,当前,动态网页发展迅速,一些动态网页想要通过简单的爬虫是无法爬取的,还有一些动态网页甚至需要用户登录注册才能获取相关的内容,智能爬虫通过自动注册、自动登录和构建虚拟IP等方法便能较好地解决这一问题。

2.3高性能爬虫。高性能爬虫的研究结合了一些人工智能的算法,它可以对一些特定格式的网页进行抓取。由于国内搜索引擎的发展也越来越成熟,有效抓取数据的要求也越来越高,对于高效精确的爬虫技术的研究迫在眉睫,因此爬虫技术和人工智能及分布式技术结合成为了该研究领域内的一大热门问题。

3常见问题处理

实验中由于各种原因,程序在运行的过程中会出现若干错误,以下将从超时设置、爬虫异常处理和浏览器伪装三个方面讲述常见问题处理。

3.1超时设置。由于网络速度的延迟亦或是所访问服务器异常的问题,在爬取的过程中,可能会出现长时间的无访问的情况,这样会导致程序无法运行,因此需要根据不同要求设置不同的超时时长,如果一些网站的反应快,则可以把超时时间值设置小一些,有些网站的反应较慢,则需要可以把超时时间值设置大一些。timeout的值表示超时时间值,在代码中改变timeout的值即可。

3.2爬虫异常的处理。爬虫程序在运行的过程中,经常会遇到各种各样的问题。如果没有爬虫的異常处理,那么当爬虫遇到异常时则会导致程序的崩溃无法继续运行,如果再运行则需要重新开始,所以,想要节约时间,避免麻烦,异常处理必不可少。下面介绍一下一些常见的状态码及其含义:301Moved Permanently,它表示重定到新的url(永久性);302Found,重定到新的url(非永久性);304Not Modified,它表示请求的资源为未更新;400Bad Request,它表示请求是一个非法请求;401Unauthorized,它表示请求未经授权;403Forbidden,它表示禁止访问,常常是因为没有权限;404NotFound,它表示没有找到对应的页面;500Internal Server Error,它表示服务器内部出现错误;501Not Implemented,它表示服务器不支持实现请求所需要的功能。下面是两个异常处理的类,分别是URLError和HTTPError,其中HTTPError是HTTPError的一个子类,HTTPError有异常状态码与异常原因,而URLError则没有异常状态码。异常处理需要导入urllib.error模块,然后使用try函数进行处理,当程序报错时会输出错误码和错误原因。然后程序会跳过错误的地方继续运行,这样就避免了程序的崩溃。

4总结

随着大数据时代的飞速发展,图像的精确获取变得愈发重要,网络爬虫的研究也在其中扮演着重要的角色。如何利用好网络爬虫,发挥其最大价值,仍然需要研究者们进行进一步的探索。

参考文献:

[1] 基于Python的数据信息爬虫技术[J]. 魏程程.  电子世界. 2018(11)

[2] 主题爬虫技术研究综述[J]. 潘晓英,陈柳,余慧敏,赵逸喆,肖康泞.  计算机应用研究. 2020(04)

猜你喜欢
网络爬虫
基于分布式的农业信息检索系统的设计与实现
微信平台下的教务信息获取和隐私保护方法研究
基于网络爬虫的电子易购软件设计与实现
搜索引擎技术的发展现状与前景
炼铁厂铁量网页数据获取系统的设计与实现
基于社会网络分析的权威网页挖掘研究
主题搜索引擎中网络爬虫的实现研究
浅析如何应对网络爬虫流量
基于淘宝某商品销售量监控系统
网络爬虫针对“反爬”网站的爬取策略研究