我们在做大数据网络爬虫的时候,常常需要选择一款方便、实用、灵活的爬虫架构和编程语言。
一款流行的爬虫框架Scrapy就是一个非常强大的网络爬虫框架,它是由#python#语言编写的开源框架,具有简单、灵活、跨平台的特点,也是Python社区最流行的爬虫框架之一,主要用于抓取WEB站点并从页面中提取结构化的数据。Scrapy框架依赖我们在安装使用Scrapy框架开发程序时,需要提前依次安装多个依赖程序包:twiste包(提供数据包过滤功能)、whl包(文件本质上是一个压缩包,里面包含了py文件,以及经过编译的pyd文件,方便在机器上进行python模块的安装)、lxml包(用于xpath提取)、zope.interface包(接口库)、pywin2包(方便Python快速调用windowsAPI的模块库)、pyOpenSSL包(基于网络通信的协议)。
Scrapy框架几大组成Scrapy框架主要由ScrapyEngine,Scheduler,Downloader,Spiders,ItemPipeline,Downloadermiddewares以及Spidermiddlewares等几部分组成。
ScrapyEngine起引擎的作用,是爬虫工作的核心,负责控制数据在系统中所有组件中的流动,并在相应事件发生时触发事件。
Scheduler称为调度器,它接受Request(请求)并将他们列入队列,以便之后的引擎请求时提供给引擎。
Downloader称为下载器,负责获取页面数据并提供给引擎,而后提供给Spider。
Spidermiddlewares称为爬虫中间件,介于引擎和爬虫之间响应输入和请求输出。
Spider称为爬虫或蜘蛛,用户在这里编写分析由下载器返回的Response(响应),并提取出Item和额外的URL类,每个Spider都能处理一个域名或一组域名。
ItemPipeline是数据管道,负责处理蜘蛛从网络中提取的数据,并将解析处理后的数据存储到数据库中。
Downloadermiddewares叫下载中间件,介于引擎和调度器之间,负责两者之间的请求和响应。
Scrapy框架爬虫开发准备如果我们要做网络爬虫,第一要清楚对抓取目标的描述或定义,第二要对网页或数据的分析与过滤进行设计,第三要制定对URL的搜索策略。
根据现阶段的爬虫工作职业道德,解析网站内容时,我们是要遵守robots.txt协议的,robots.txt文件告诉spider在服务器上什么文件是可以被查看的,这样来确定我们蜘蛛可以访问的内容,以避免引起不必要的纠纷。当没有robots.txt时,默认可以访问没有口令限制的所有内容。
总结网络爬虫有很多种,找到与自身对口,实用,方便的开发语言和开发架构,可以让你在开发者的道路上走得更轻松,更快乐。
转载请注明:http://www.0431gb208.com/sjszjzl/8534.html