龙源期刊网
http://www.qikan.com.cn
基于
Python
的专业网络爬虫的设计与实现
作者:姜杉彪
黄凯林
卢昱江
张俊杰
曾志高
刘强
来源:《企业科技与发展》
2016
年第
08
期
【摘
要】网络爬虫,又称网页蜘蛛、网络机器人。随着计算机技术的高速发展,互联网
中的信息量越来越大,搜索引擎应运而生。传统的搜索引擎会有返回结果不精确等局限性。为
了解决传统搜索引擎的局限性,专用型网络爬虫在互联网中越来越常见。同时,专用型网络爬
虫具有专用性,可以根据制定的规则和特征,最后只体现和筛选出有用的信息。
【关键词】
Python
;网络爬虫;数据挖掘;搜索引擎
【中图分类号】
TP393
【文献标识码】
A
【文章编号】
1674-0688
(
2016
)
08-0017-03
0
引言
在搜索引擎的使用过程中,用户认为通用搜索引擎都有一个局限性,那就是在搜索结果中
附带太多不必要的信息。用户在使用搜索引擎后,仍然需要人为地从搜索结果中寻找检索最终
需要的信息。然而,在互联网飞速发展的状况下,网络信息量突发式的暴增,计算机硬件设备
的技术不断进步,网络的信息容量和带宽也是日新月异,在互联网中出现了多媒体和富文本的
新技术。随着这些信息的不断增加和积累,通用搜索引擎对类似这种多媒体或者富文本的搜索
能力越来越差
[1-2]
。
为了解决部分用户对信息的检索要求,专用型网络爬虫应运而生,为用户提供特定的信息
抓取,开发出不同特性的专用型网络爬虫
[3]
。本文以网易新闻爬虫实例为引导,对如何开发
出专用型网络爬虫及制定不同的爬虫策略进行了深入的研究。
1
爬虫系统需求分析与设计
为了保证网络爬虫系统的开发过程顺利,以及保证最终的开发结果能满足基本的功能需
求,必须在开发系统之前进行分析,并设计出符合该系统的代码规范及功能模块等。整个网络
爬虫系统均使用模块化设计,一个功能类作为一个功能模块。这样做的目的是一方面可以便于
代码的维护,另一方面可以增加代码的重用性。通过将整个系统进行模块划分,每个功能模块
只实现一个功能,最后所有的模块功能完成后,整个网络爬虫系统就能实现当初进行定义的系
统功能
[4-5]
。本系统的需求分析的任务是通过调查特定用户的上网行为习惯,开发符合一类上
网用户使用的专用型网络爬虫,根据用户的功能需求明确系统需要实现的各个功能。并且,在
设计系统的同时,需要考虑系统今后的维护及改进问题。本文以网易新闻爬虫系统为例,探讨
专用爬虫系统的设计与实现。
1.1
功能性需求分析