APP下载

基于Python的分布式网络爬虫系统的设计与实现

2018-02-28逄菲

电子技术与软件工程 2018年23期

逄菲

摘要

现在人们和网络有着密不可分的联系,人们从网络上可以获取丰富的信息。但是存在用户很难在大量信息中准确挖掘自身需要信息的情况,因此如何从网络上丰富的信息中找到自己最需要的信息是用户很重视的一个问题。网络爬虫是一项能够自动对信息进行提取筛选的程序,但是其中也存在着一些爬虫系统收集信息效率低、没有良好的扩展性能等问题,网页数据爬取效率和数据选择的速度是当前爬虫系统需要优化的几个方面。根据当前网络信息特点,本文将会对Python的分布式网络爬虫系统的设计和实现做出简介,并且将此作为对传统文件共享形式的一种补充,也是一种新的尝试。

【关键词】Python 分布式网络 爬虫系统

大数据时代下,信息的传播和分享是人们交流和交往最需要的,信息的传播和分享能够有效的创造效益。在信息发达的今天,每条信息和其背后所牵扯到的东西都是大数据所组成的部分。因此,人们对信息的分享和传播越来越重视,在人们对传播的信息进行提取时,对消息是否有效十分关注。在平时的生活和工作中,通过组建一个安全、开放、智能的系统进行信息分享,对完成工作的效率有很大的提高,还一定程度节约了工作成本。

1 爬虫技术简介

网络蜘蛛是网络爬虫的另一个说法,这是一个可以对网页信息进行提取的程序,可以模仿游览器查询网络资料,给出用户所需要的信息,并且它还是搜索引擎的重要组成部分,可以进行网页信息下载。

网络爬虫可以分为通用性爬虫、聚焦性爬虫、增量型爬虫、深层爬虫,通用性的爬虫就是全网爬虫,其特点是对储存量的要求十分的高,还要求具有很快的存储速度;聚焦性爬虫指的就是对某一方面进行专注的爬虫,根据所给的关键词进行固定的信息搜索;增量型爬虫则是间隔性的信息收集,一定的时间过后重新爬取进行数据的更新;深层爬虫通过登录提交数据,之后才能进入页面提取信息。利用网络爬虫用户可以对网络中的一些信息进行快速的保存。例如在进行对图片的保存时,如果需要保存的图片量比较大,那么操作起来就不是很容易,利用网络爬虫来进行操作就可以减轻工作量,进行自动化的处理,从而使得图片的保存快速高效。并且爬虫还可以获得很多的额外知识,对决策等提供相关的依据。

2 Python介绍

Python语言属于语法比较简洁清晰的开源编程式语言,最具特色的就是其用whitespace作为语句的缩进。Python具有标准库和第三方库,每一个内容都十分的丰富。胶水语言是对它最形象的称呼,因为它可以很快的和其他的语言制作模块联合在一起,对信息的扩展有着促进作用。使用Python快速生成程序原型或者程序的最终界面是Python最常见的一种应用,然后通过利用更合适的语言将其中有特别要求的部分进行修改。在进行Python语言使用之前,需要搭建一个稳定的环境。到正规的官网去进行Python的下载,并且要下载用户所需要的特定系统,安装完成后对环境变量做好处理,方便Python的正常启动。用户还可以根据自己的喜爱选择一款适宜的编辑工具来进行爬虫的编写。目前Python的版本主要有两个,其主要在模块、运行、编码、语言上存在着差距。利用Python爬虫主要有一下这些有点:第一是其语言简单明了,操作方法简单;第二是Python程序能够提供功能极其强大的爬虫框架结构;还有一点则是其具有良好的网页解析器还有强大的网络支持库。

3 爬虫的案例

本文将通过实质性的爬虫案例进行介绍,案例当中是一个常见的聚焦性爬虫程序,将用户需要的信息归纳到文件中。该爬虫功能是对互联网上关于互联网职位信息的收集爬取,对招聘信息也加以保存在文档中。

3.1 解决爬虫的三大问题

爬虫三大问题包括where what how,确定好爬的位置,抓准爬取的页面,对于这个问题的解决则需要通过对用户的需求进行分析再决定,爬什么则是根据上面的页面进行分析,确定需要的数据,将其中的信息提取出来,对于怎么对信息进行提取的问题,则是需要使用Python具有丰富资源的标准库和强大的第三方库完成,怎样爬是爬虫的核心部分,特别是其中的对网页的解析,可以使用1xml、正则表达式等进行网页解析,不同的方法都有着自己的优点,使用时则需要根据用户的熟练度还有需要进行合适方法的选择。

3.2 具体实施

此爬虫操作系统主要包括三个模块,分别是数据存储模块、页面抓取模块、页面分析模块,这三个模块互相协助,一起完成对网络信息数据的收集和抓取。

此爬虫案例的主要操作则是首先打开某个信息网招聘网页,爬虫操作中主要处理的对象就是此网站的URL,打开互联网的职位页面对其网页的源代码进行分析,将其复制。例如页面的公司信息、招聘要求、薪资待遇等进行分析。然后要确定好爬虫的方法,导入程序中所需要的库当中去。向终端服务器发出请求,打开对应的网页,对整个爬虫过程中所需要的库都导入。图1是一些代码和相关的注释。

对于爬取的结果需要做到及时的整理。爬虫将资料从网页当中提取出来后,对于数据也需要进行保存,Python提供的保存数据的方法有:保存到本地的数据库当中,或者保存到储存的磁盘当中。该爬虫对于招聘信息进行本地保存的时候需要将文件的格式存为ALS文件。

3.2 改进和完善

上面所讲到的爬虫操作只能对网页上的首要位置的招聘信息进行爬取,如果想要对所有的信息进行爬取,则需要对网页URL地址规律进行分析,并且使用for循环进行对信息的循环提取,最后则进行分析比较。

4 结语

在现今的大数据时代下,用户对数据信息的需求量越来越大,对相关数据进行有效的分析并且还可以提供有力的依据给所要进行的决策。爬虫技术的应用有很多,对于网络舆情的分析还有网络犯罪线索的发现都可以使用爬虫技术去操作,其应用前景十分广泛。

参考文献

[1]刘泽华,赵文琦,张楠.基于Scrapy技术的分布式爬虫的设计与优化[J].信息技术与信息化,2018(Z1):121-126.

[2]高強.基于Redis的分布式爬虫框架的设计[J].农业网络信息,2017(08):12-14.

[3]孟军,覃海奎,刘洁,甘宇健.分布式网络爬虫设计研究[J].现代计算机(专业版),2017(24):62-65.

[4]孙艺乘,张建敏.大数据数字媒体时代网络爬虫技术下的精准招商[J].贵州大学学报(自然科学版),2017,34(02):80-84.