scrapy-redis实现分布式爬虫详解

scrapy-redis分布式爬虫框架详解

随着互联网技术的发展与应用的普及,网络作为信息的载体,已经成为社会大众参与社会生活的一种重要信息渠道。由于互联网是开放的,每个人都可以在网络上发表信息,内容涉及各个方面。小到心情日志,大到国家大事。

互联网已成为思想文化信息的集散地,并具有传统媒体无法相比的优势:便捷性,虚拟性,互动性,多元性。网络新闻热点通常形成迅速,多是人们对于日常生活中的各种问题发表的各种意见,评论,态度,情绪等,随着事件的发展而变化,是反映社会热点的重要载体之一。

相比较而言,编写爬虫程序获取到的海量数据更为真实、全面,在信息繁荣的互联网时代更为行之有效。因此编写爬虫程序成为大数据时代信息收集的必备技能。

本文主要介绍爬虫收集数据优点、爬虫原理、scrapy爬虫框架,并以新闻爬取为例,详细讲解使用scrapy爬取数据的步骤以及scrapy-redis分布式。

一、爬虫收集数据的优点

大数据时代下,人类社会的数据正以前所未有的速度增长,传统的获取数据的方式如问卷调查、访谈法等,其样本容量小、信度低、且受经费和地域范围所限,因而收集的数据往往无法客观反映研究对象,有着较大的局限性。

以不能满足高质量研究的需求。正如Ivor的理论所揭示的,如果输入的是无效信息,无论处理的程序如何精良,输出的都是无用信息“Garbage In,Garbage Out”。可见,对比传统的数据收集方法,立足于海量数据的研究有以下的优点:

(一)数据的真实性
数据的真实性,使用问卷调查法收集的数据,调查者难以了解被调查者是认真填写还是敷衍了事。使得得到的数据真实性不可靠,而通过爬虫技术能快速获取真实、客观的用户信息,如在社交网络上对一个公司的评价显然要比问卷调查真实,淘宝、美团上消费者对卖家的评论就比较客观的反应了商品的质量。

(二)样本容量

人类当初发明计算机是因为在二战时期工程师们已经无法计算导弹的飞行轨迹,庞大的计算量迫使了计算机的发明,可见计算机天生就是来处理大规模批量的数据,把人们从繁重的劳动中解放出来。在同样的成本下,人工采集和计算机采集的数据量不是一个量级的,爬虫可以对互联网上的海量数据进行收集、分析,能更好的反应客观事实,而数据越全面,分析研究的结果也就越真实。

二、爬虫原理

网络爬虫(Web crawler),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,我们浏览的网页数以亿计,它们在世界各地的服务器上存储着。用户点击一个网页的超链接以跳转的方式来获取另一个页面的信息,而跳转的页面又有链接存在,网页便由超链接组成一个巨大且错综复杂的网。而Web爬虫(Crawler),也称蜘蛛(Spider),则是穿梭在这巨大的互联网中下载网页解析内容的程序。它们被广泛用于互联网搜索引擎,可以自动采集所有其能够访问到的页面内容,以获取或更新这些网站的内容和检索方式。

(一)爬虫的应用

在商务智能上,企业使用爬虫收集竞争对手的情报或在社交网络、虚拟社区上爬取用户对企业的评价从而在产品服务上做出改进等。在数据研究上,爬虫能快速收集互联网上的信息,为数据分析提供原始资料。

(二)爬虫算法流程

从功能上来讲,爬虫一般分为数据采集,处理,储存三个部分。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。

图1:爬虫流程算法

三、scrapy爬虫框架

Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。Scrapy用途广泛&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值