爬虫系统基础框架 & 何时使用爬虫框架?
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的基础知识