百科狗-知识改变命运!
--

Python 爬虫之pyspider

梵高1年前 (2023-11-21)阅读数 18#技术干货
文章标签爬虫

pyspider是一个支持任务监控、项目管理、多种数据库,具有WebUI的爬虫框架,它采用Python语言编写,分布式架构。详细特性如下:

拥有Web脚本编辑界面,任务监控器,项目管理器和结构查看器;

数据库支持MySQL、MongoDB、Redis、SQLite、Elasticsearch、PostgreSQL、SQLAlchemy;

队列服务支持RabbitMQ、Beanstalk、Redis、Kombu;

支持抓取JavaScript的页面;

组件可替换,支持单机、分布式部署,支持Docker部署;

强大的调度控制,支持超时重爬及优先级设置;

支持Python2&3。

pyspider主要分为Scheduler(调度器)、Fetcher(抓取器)、Processer(处理器)三个部分,整个爬取过程受到Monitor(监控器)的监控,抓取的结果被ResultWorker(结果处理器)处理。基本流程为:Scheduler发起任务调度,Fetcher抓取网页内容,Processer解析网页内容,再将新生成的Request发给Scheduler进行调度,将生成的提取结果输出保存。

2pyspidervsscrapypyspider拥有WebUI,爬虫的编写、调试可在WebUI中进行;Scrapy采用采用代码、命令行操作,实现可视化需对接Portia。

pyspider支持使用PhantomJS对JavaScript渲染页面的采集;Scrapy需对接Scrapy-Splash组件。

pyspider内置了PyQuery(Python爬虫(五):PyQuery框架)作为选择器;Scrapy对接了XPath、CSS选择器、正则匹配。

pyspider扩展性弱;Scrapy模块之间耦合度低,扩展性强,如:对接Middleware、Pipeline等组件实现更强功能。

Python 爬虫之pyspider

总的来说,pyspider更加便捷,Scrapy扩展性更强,如果要快速实现爬取优选pyspider,如果爬取规模较大、反爬机制较强,优选scrapy。

以上内容为大家介绍了Python爬虫之pyspider,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:开发教育。

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)