网络爬虫开发常用框架

爬虫框架就是一些爬虫项目的半成品,可以将一些爬虫常用的功能写好,然后留一些接口,在不同的爬虫项目当中调用适合自己项目的接口,再编写少量的代码实现自己需要的功能。因为框架中已经实现了爬虫常用的功能,所以为开发人员节省了很多精力与时间。

1.Scrapy爬虫框架

Scrapy框架是一套比较成熟的Python爬虫框架,简单轻巧,并且非常方便。可以高效率地爬取web页面并从页面中提取结构化的数据。Scrapy是一套开源的框架,所以在使用时不需要担心收取费用的问题。Scrapy的官网地址为https://scrapy.org,页面如下:

 另外Scrapy开发框架对开发者提供了开发文档,文档中详细地介绍了开源框架的安装以及Scrapy的使用教程。

2.Crawley爬虫框架

Crawley也是Python开发出的爬虫框架,该框架致力于改变人们从互联网中提取数据的方式。Crawley的特性如下:

【1】基于Eventlet构件的高速网络爬虫框架

【2】可以将数据存储在关系数据库中,如Postgres、MySQL、Oracle、Sqlite。

【3】可以将爬取的数据导入为Json、Xml格式。

【4】支持非关系型数据库,如MongoDB和Couchdb

【5】支持命令行工具

【6】可以使用您喜欢的工具进行数据的提取,如Xpath或Pyquery工具

【7】支持使用Cookie登录或访问那些只有登录才可以访问的网页。

【8】简单易学

Crawley的官网地址为http://project.crawley-cloud.com.

3.PySpider爬虫框架

相对于Scrapy框架而言,PySpider框架是一支新秀。采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器、任务监视器、项目管理器以及结果查看器。PySpider的特性如下:

【1】Python脚本控制,可以用任何您喜欢的HTML解析包(内置pyquery)

【2】使用web界面编写调试脚本、起停脚本,监控执行状态,查看活动历史,获取结果产出。

【3】支持MySQL、MongoDB、redis、SQLite、Elasticsearch、PostgreSQL与SQLAlchemy。

【4】支持RabbitMQ、Beanstalk、Redis和Kombu作为消息队列。

【5】支持抓取JavaScript的页面

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

【7】组件可替换,支持单机/分布式部署,支持Docker部署。

PySpider源码地址为https://github.com/binux/pyspider/releases.

开发文档地址为:http://docs.pyspider.org/。

 

YayCrawler是一个基于WebMagic开发的分布式通用爬虫框架开发语言是Java。我们知道目前爬虫框架很多,有简单的,也有复杂的,有轻 量型的,也有重量型的。您也许会问:你这个爬虫框架的优势在哪里呢?额,这个是一个很重要的问题!在这个开篇中,我先简单的介绍一下我这个爬虫框架的特 点,后面的章幅会详细介绍并讲解它的实现,一图胜千言:1、分布式:YayCrawler就是一个大哥(Master)多个小弟(Worker)的架构(这种结构才是宇宙的真理),当然大哥还有一个小秘(Admin)和外界交往。2、通用性:我们很多时候需要爬取不同网站的数据,各个网站的结构和内容都有很大的差别,基本上大部分人都是遇到一个网站写一份代码,没法做到工具 的复用。YayCrawler就是想改变这种情况,把不同的部分抽象出来,用规则来指导爬虫做事。也就是说用户可以在界面上配置如何抓取某个页面的数据的 规则,等爬虫在爬取这个页面的时候就会用这个事先配置好的规则来解析数据,然后把数据持久化。3、可扩展的任务队列:任务队列由Redis实现,根据任务的状态有四种不同的任务队列:初始、执行中、成功、失败。您也可以扩展不同的任务调度算法,默认是公平调度。4、可定义持久化方式:爬取结果中,属性数据默认持久化到MongoDB,图片会被下载到文件服务器,当然您可以扩展更多的存储方式。5、稳定和容错:任何一个失败的爬虫任务都会重试和记录,只有任务真正成功了才会被移到成功队列,失败会有失败的原因描述。6、反监控组件:网站为了防止爬虫也是煞费苦心,想了一系列的监控手段来反爬虫。作为对立面,我们自然也要有反监控的手段来保障我们的爬虫任务,目前主要考虑的因素有:cookie失效(需要登陆)、刷验证码、封IP(自动换代理)。7、可以对任务设置定时刷新,比如隔一天更新某个网站的数据。作者博客地址:http://www.cnblogs.com/yuananyun 标签:爬虫
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mez_Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值