pyspider框架介绍

一、简介

  pyspider是由国人binux编写的强大的网络爬虫系统,其github地址为:https://github.com/binux/pyspider,官方文档地址为:http://docs.pyspider.org/  

  pyspider带有强大的WebUI、脚本编辑器、任务监控器、项目管理器以及结果处理器,它支持多种数据库后端、多种消息队列、JavaScript渲染页面的爬取,使用起来非常方便。

二、基本功能

1、提供方便易用的WebUI系统,可视化的编写和调试爬虫。

2、提供爬取进度监控、爬取结果查看、爬虫项目管理功能。

3、支持多种后端数据库,如Mysql、MongoDB、Redis、SQLiite、Elasticsearch、PostgreSQL。

4、支持多种消息队列,如RabbitMQ、Beanstalk、Redis、Kombu。

5、提供优先级控制、失败重试、定时抓取等功能。

6、对接了PhantomJS,可以抓取JavaScript 渲染的页面。

7、支持单机和分布式部署,支持Docker部署。

三、与Scrapy的比较

1、pyspider提供了WebUI,爬虫的编写、调试都是在WebUI中进行的。而Script原生是不具备这个功能的,它采用的是代码和命令的操作,但可以通过对接Portia实现可视化配置。

2、pyspider调试非常方便,WebUI操作便捷直观。Scrapy 则是使用parse命令调试,其方便程度不如pyspider。

3、pyspider支持PhantomJS来进行Javascript渲染页面的采集。Scrapy可以对接Scrapy-Splash组建,还需要额外配置。

4、pyspider 中内置了pyquery作为选择器。Scrapy对接了XPath、CSS选择器和正则匹配。

5、pyspider 的课扩展程度不足,可视化配置不高。Scrapy可以通过对接Middleware、PIpeline、Extension等组件实现非常强大的功能,模块之间的耦合度低,可扩展程度极高。

  如果要快速实现一个页面的抓取,推荐使用pyspider,开发更加便捷,如快速抓取某个普通新闻网站的新闻内容,如要应对反爬虫程度很强、超大规模的抓取,推荐使用Scrapy,如抓取封ip、封账号、高频验证的网站大规模数据采集。

原文地址:https://www.cnblogs.com/lxmtx/p/14458772.html