Python 爬虫之pyspider
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等组件实现更强功能。
总的来说,pyspider更加便捷,Scrapy扩展性更强,如果要快速实现爬取优选pyspider,如果爬取规模较大、反爬机制较强,优选scrapy。
以上内容为大家介绍了Python爬虫之pyspider,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。
相关推荐HOT
更多>>Python企业应用的优缺点
Python是软件开发领域一朵诱人的奇葩:人们经常把Python看作是一种起到缝合作用的严格脚本语言,不过却很少有人意识到Python已经足够强大到应用...详情>>
2023-11-11 21:01:20Python 之什么是类,什么是对象?
类即类别、种类,是面向对象设计最重要的概念,从一小节我们得知对象是特征与技能的结合体,而类则是一系列对象相似的特征与技能的结合体。那么...详情>>
2023-11-11 18:20:34Python 爬虫之pyspider
pyspider是一个支持任务监控、项目管理、多种数据库,具有WebUI的爬虫框架,它采用Python语言编写,分布式架构。详细特性如下:拥有Web脚本编辑...详情>>
2023-11-11 17:49:48python RSA加密算法过程
1,随机选取两个质数p和q2,计算n=pq3,选取一个与Ø(n)互质的小奇数e,Ø(n)=(p-1)(q-1)4,对模Ø(n),计算e的乘法逆元d,即满足(e*d)modØ(n)...详情>>
2023-11-11 17:20:50