爬虫技术的兴起源于海量网络数据的可用性,通过爬虫技术人们可以很容易地获取网络数据,并通过对数据的分析得出有价值的结论。

爬虫技术初探

目前,网络上已经有很多开源的爬虫软件,像Larbin(c++语言实现,只负责网页抓取,不负责解析和存储),Nutch(开源Java 实现的搜索引擎),Heritrix(java开发的单实例的爬虫)。

按照系统结构和实现技术,爬虫可以分为通用网络爬虫,聚焦网络爬虫,增量式网络爬虫和深层网络爬虫。像百度,谷歌就是一种大型复杂的网络通用网络爬虫,通用网络爬虫大多提供基于关键字的收索,难以支持根据语义信息提出的查询,因此,聚焦网络爬虫应运而生。聚焦爬虫将目标定位为抓取某特定主题内容,为面向主题的用户查询准备数据资源。相比之下,增量网络爬虫难度更大,它需要进一步爬取更新的新产生的网页数据,而不重新下载未发生变化的网页。web页面可以分为表层网页和深层网页,通用网络爬虫通常是爬取表层网页,而需要登录或注册的网页就需要深层网络爬虫。常常,爬虫技术是多种技术的交替使用。

python爬虫技术

在大数据技术中,数据的采集与存储是其核心,而爬虫技术在两大核心技术中占有较大比例。因为python脚本特性,对字符处理十分灵活,较成熟的网络抓取模板,简洁的语言模式,丰富的资源库,相比其它语言而言,可以用很短的代码完成大部分工作。

python爬虫实现

python爬虫一般经过对网络资源发送请求,获取反馈内容,解析内容,存储内容等几个步骤。而网页的请求方式一般分为GET和POST两种方式,网页通过Request(请求),Response(响应)两个过程实现数据发送和接收。而python强大的函数库,让其爬虫实现变得比较容易。比如urllib库(解决python对互联网的访问),Requests库,基于urllib,实现HTTP的大部分功能(Keep-Alive,连接池,Cookie持久化,内容自解压,HTTP代理,SSL认证,连接超时,Session等很多特性)。

python爬虫基础框架

#Python爬虫#的基础框架就分为爬虫调度器(其它模块的协调工作),URL管理器(获取管理URL链接),HTML下载器(下载未爬取的HTML网页),HTML解析器(获取已下载的HTML网页,并解析出新的URL交给URL管理器并把解析出的数据交给存储器)和数据存储器(存储解析得来的数据)。当然,python也有更高级的爬虫框架Scrapy。

总结

爬虫技术只是大数据技术中的一个分支,它与其它大数据技术一起构成了大数据生态圈,从而为人们的生产生活带来改变。

举报/反馈

人猿宇宙

2.3万获赞 5823粉丝
我是人猿,带你看不一样的宇宙!
关注
0
0
收藏
分享