爬虫系统基础框架 & 何时使用爬虫框架?

Posted Python爬虫与算法

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫系统基础框架 & 何时使用爬虫框架?相关的知识,希望对你有一定的参考价值。

一、 爬虫用途和本质

  网络爬虫(又名网络蜘蛛)顾名思义即模仿蜘蛛在网络上爬取数据,网络爬虫的本质是一段自动抓取网页信息的计算机程序。爬虫实现方式:模仿浏览器访问互联网的过程,下载指定url网页的数据,然后解析并处理得到感兴趣的、有价值的数据。

二、何时使用爬虫框架

  针对不同的爬虫需求,爬虫的实现途径也不相同。对于比较大型或复杂的需求需要使用爬虫框架,因为框架便于管理和扩展等;而对于一般比较小型或简单的爬虫需求,那么使用框架就有点大材小用了,目前通常直接使用requests库 + bs4便可满足需求(requests与python request模块不是一回事,requests是一个基于urllib3的第三方库,bs4即python beautfilsoup组件)。

三、 爬虫系统基础框架

  一个爬虫系统的基础框架通常包含调度器scheduler、URL管理器manager、URL下载器downloader、URL解析器parser、应用application共5个模块。当然还可以根据任务的需求在基础框架的基础上添加扩展模块,比如监控模块、定时启动模块等。5个基础模块的功能如下:

  • 调度器scheduler:负责协调各模块url;

  • 管理器manager:管理待爬取和已爬取的网页url;

  • 下载器downloader:根据url去爬取对应的网页数据,将网页数据转换成一个字符串(html文档等),常用的下载器包括urllib3、requests等;

  • 解析器parser:解析下载器下载得到的字符串,常用的解析器包括html.parser(Python自带的)、beautifulsoup(第三方插件)等;

  • 应用程序application:分析感兴趣的、有价值的数据。

工作流程如下图所示:

简单爬虫框架执行流程

四、常用的爬虫框架:

  前面已经提到过,爬虫框架适用于比较大型或复杂需求的爬虫,因为框架便于管理和扩展等。目前常用的几种爬虫框架包括:

  • Scrapy框架

  • PySpider框架

  • Crawley框架

  • Portia框架

  • Newspaper框架

尤其Scrapy框架和PySpider框架是比较受欢迎的爬虫框架。Scrapy框架官方:https://scrapy.org/ ,PySpider框架官方:http://docs.pyspider.org  。

  本次分享到此结束,欢迎大家交流~~


以上是关于爬虫系统基础框架 & 何时使用爬虫框架?的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫编程思想(144):爬虫框架Scrapy的基础知识

Python爬虫编程思想(144):爬虫框架Scrapy的基础知识

python应用:爬虫框架Scrapy系统学习第四篇——scrapy爬取笔趣阁小说

零基础写python爬虫之使用Scrapy框架编写爬虫

python爬虫详细解析附案例

小白学 Python 爬虫(40):爬虫框架 Scrapy 入门基础对接 Selenium 实战