千锋教育-做有情怀、有良心、有品质的职业教育机构

Python 爬虫之pyspider

来源:千锋教育
发布时间:2023-11-07 07:10:39
分享

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培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • python生成器表达式 生成器表达式来源于迭代和列表解析的组合,生成器和列表解析类似,但是它使用尖括号而不是方括号>>>#列表解析生成列表>>>[x**3forxinrange(5)][0,1,8,27,64]>>>>>>#
  • python加密算法介绍 一,HASHHash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映
  • python RSA加密算法过程 1,随机选取两个质数p和q2,计算n=pq3,选取一个与Ø(n)互质的小奇数e,Ø(n)=(p-1)(q-1)4,对模Ø(n),计算e的乘法逆元d,即满足(e*d)modØ(n)=15,公钥(e,n)
  • python 重要的日志模块logging logging模块简介logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等;相比print,具备如下优点:可以通过设置不同的日志等
  • python装饰器的概念 装饰器一直是我们学习python难以理解并且纠结的问题,想要弄明白装饰器,必须理解一下函数式编程概念,并且对python中函数调用语法中的特性有所了解,使用装饰器非常简单,但是写装饰器却很复杂。为了讲
  • Python的文件目录 1.各种系统操作注意:虽然python中提供了各种拼接目录的函数,但是,函数并不能保证字符编码不出问题,很大可能导致程序错误。所以最好还是自己拼接。python中对文件、文件夹(文件操作函数)的操作需