企业互联专业网站定制+品牌网站设计+集团网站建设
400 0082 880
各大主流编程语言常用爬虫框架以及优劣分析
拥抱趋势 专业优化 快速打造能赚钱的网站
马上咨询
2016-07-26 09:44:53阅读:445来源:seo优化公司作者:企业互联
[导语]为您推荐文章《各大主流编程语言常用爬虫框架以及优劣分析》(本文主要讲述:这时你如果使用HttpWebReaquest,你只能调试到GetRespone,底层的字节流是调试不到了。Spiderman主要是运用了像XPath、正则、表达式引擎等这些技术来实现数据抽取。dePHPCrawl是一个PHP开源的Web检索蜘蛛(爬虫)类库。crawley-cloud。1......)如果你对文章有兴趣,欢迎关注我们
本文对445人有所帮助,共有2676个文字,预计阅读所需时间7分钟

各大主流编程语言常用爬虫框架以及优劣分析

  目前市场上爬虫框架有很多,不同语言不同类型的爬虫框架都有,然而在开发预研的时候对于选择那种

  框架对于很多开发者来说尤为头疼;

  本篇主要总结一下市场上主流的开发语言中有哪些主流的爬虫框架,以及爬虫框架的优劣;希望在对你在选择合适爬虫框架中有所帮助。

  一、主流语言爬虫框架列表:

  二、主流爬虫框架简介

  1、Java爬虫框架

  1.1、Apache Nutch2

  链接地址:nutch.apache.org

  Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。

  Nutch 致力于让每个人能很容易, 同时花费很少就可以配置世界一流的Web搜索引擎. 为了完成这一宏伟的目标, Nutch必须能够做到:

  * 每个月取几十亿网页

  * 为这些网页维护一个索引

  * 对索引文件进行每秒上千次的搜索

  Ⅰ、对索引文件进行每秒上千次的搜索

  Ⅱ、提供高质量的搜索结果

  简单来说Nutch支持分布式,可以通过配置网站地址、规则、以及采集的深度(通用爬虫或全网爬虫)对网站进行采集,并提供了全文检索功能,可以对采集下来的海量数据进行全文检索;假如您想完成对站点所有内容进行采集,且不在乎采集和解析精度(不对特定页面特定字段内容采集)的需求,建议你使用Apache Nutch,假如您想对站点的指定内容板块指定字段采集,建议您使用垂直爬虫较为灵活。

  1.2、webmgaic(推荐)

  链接地址:webmagic.io

  WebMagic是一个简单灵活的Java爬虫框架。基于WebMagic,你可以快速开发出一个**、易维护的爬虫。

  特性:简单的API,可快速上手;模块化的结构,可轻松扩展;提供多线程和分布式支持

  1.3、Heritrix

  链接地址:crawler.archive.org

  Heritrix 是一个由 java 开发的、开源的网络爬虫,用户可以使用它来从网上抓取想要的资源。其** 出色之处在于它良好的可扩展性,方便用户实现自己的抓取逻辑。

  1.4、WebCollector

  链接地址:github.com/CrawlScript/WebCollector

  WebCollector是一个无须配置、便于二次开发的JAVA爬虫框架(内核),它提供精简的的API,只需少量代码即可实现一个功能强大的爬虫。WebCollector-Hadoop是WebCollector的Hadoop版本,支持分布式爬取。

  1.5、crawler4j

  链接地址::github.com/yasserg/crawler4j

  crawler4j是一款基于Java的轻量级单机开源爬虫框架,** 大的一个特点就是简单。另外也支持多线程、支持代理、可以过滤重复URL

  基本上从加载jar到工程里面 通过修改示例的代码就可以简单的实现一个爬虫的全部功能,而这一切动作加起来都不需要超过半个小时。

  1.6、Spiderman

  链接地址:m.gitee.com/l-weiwei/spIDerman

  Spiderman 是一个Java开源Web数据抽取工具。它能够收集指定的Web页面并从这些页面中提取有用的数据。 Spiderman主要是运用了像XPath、正则、表达式引擎等这些技术来实现数据抽取。

  1.7、eimiCrawler

  链接地址:seimi.wanghaomiao.cn

  一个敏捷的,独立部署的,支持分布式的Java爬虫框架;

  SeimiCrawler是一个强大的,**敏捷的,支持分布式的爬虫开发框架,希望能在** 大程度上降低新手开发一个可用性高且性能不差的爬虫系统的门槛,以及提升开发爬虫系统的开发效率。在SeimiCrawler的世界里,绝大多数人只需关心去写抓取的业务逻辑就够了,其余的Seimi帮你搞定。设计思想上SeimiCrawler受Python的爬虫框架Scrapy启发很大,同时融合了Java语言本身特点与Spring的特性,并希望在国内更方便且普遍的使用更有效率的XPath解析htmL,所以SeimiCrawler默认的HTML解析器是JsoupXpath,默认解析提取HTML数据工作均使用XPath来完成(当然,数据处理亦可以自行选择其他解析器)。

  1.8、jsoup

  链接地址:jsoup.org

  jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。

  2、Python爬虫框架

  2.1、scrapy (推荐)

  链接地址:scrapy.org

  Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。

  Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,** 新版本又提供了web2.0爬虫的支持。

  Scrap,是碎片的意思,这个Python的爬虫框架叫Scrapy。

  2.2、Crawley

  链接地址:project.crawley-cloud.com

  高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为JSON、XML等

  2.3、Portia

  链接地址:scrapinghub.com/portia

  Portia 是一个用 Python 编写无需任何编程知识,就能可视爬取网站数据的开源工具。无需下载或安装任何东西,因为,Portia 是运行在您的 Web 浏览器中。

  Portia 是 scrapyhub 开源的一款可视化爬虫规则编写工具。Portia 提供了可视化的 Web 页面,只需通过简单点击,标注页面上需提取的相应数据,无需任何编程知识即可完成爬取规则的开发。这些规则还可在 Scrapy 中使用,用于抓取页面。

  2.4、PySpider

  链接地址:

  PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI。采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器,任务监视器,项目管理器以及结果查看器。

  2.5、grab

  链接地址:

  网络爬虫框架(基于pycurl/multicur)。

  2.6、cola

  链接地址:ithub.com/chineking/cola

  一个分布式爬虫框架。项目整体设计有点糟,模块间耦合度较高,不过值得借鉴。

  3、php爬虫框架

  3.1、phpspider

  链接地址:github.com/owner888/phpspider

  phpspider是一个爬虫开发框架。使用本框架,你不用了解爬虫的底层技术实现,爬虫被网站屏蔽、有些网站需要登录或验证码识别才能爬取等问题。简单几行PHP代码,就可以创建自己的爬虫,利用框架封装的多进程Worker类库,代码更简洁,执行效率更高速度更快。

  3.2、Beanbun

  链接地址:

  Beanbun 是用 PHP 编写的多进程网络爬虫框架,具有良好的开放性、高可扩展性。

  支持守护进程与普通两种模式(守护进程模式只支持 Linux 服务器)

  默认使用 Guzzle 进行爬取

  支持分布式

  支持内存、Redis 等多种队列方式

  支持自定义URI过滤

  支持广度优先和深度优先两种爬取方式

  遵循 PSR-4 标准

  爬取网页分为多步,每步均支持自定义动作(如添加代理、修改 user-agent 等)

  灵活的扩展机制,可方便的为框架制作插件:自定义队列、自定义爬取方式…

  3.3、PHPCrawl

  链接地址:phpcrawl.cuab.de

  PHPCrawl是一个PHP开源的Web检索蜘蛛(爬虫)类库。PHPCrawl抓取工具“ Spider ”的网站,并提供一切有关网页,链接,文件等信息。

  PHPCrawl povides可以选择性的指定的爬虫的行为,比如喜欢网址、内容类型,过滤器、 cookie的处理等方式。

  4、c#爬虫框架

  4.1、DotnetSpider

  链接地址:

  DotnetSpider这是国人开源的一个跨平台、高性能、轻量级的爬虫软件,采用 C# 开发。目前是.Net开源爬虫** 为很好的爬虫之一。

  4.2、NWebCrawler

  链接地址:nwebcrawler.codeplex.com

  NWebCrawler是一款开源的C#网络爬虫程序更多NWebCrawler

  4.3、SmartSpider

  链接地址:

  SmartSpider爬虫引擎内核版,全新的设计理念,真正的极简版本。

  4.4、Abot

  链接地址:github.com/sjdirect/abot

  Abot是一个开源的.net爬虫,速度快,易于使用和扩展。

  4.5、xNet

  链接地址:github.com/X-rus/xNet

  这个一个俄国牛人写的开源工具,为啥说他强悍了,因为他将所有HTTP协议的底层都实现了一遍,这有啥好处?只要你是写爬虫的,都会遇到一个让人抓狂的问题,就是明明知道自己http请求头跟浏览器一模一样了,为啥还会获取不到自己想要的数据。这时你如果使用HttpWebReaquest,你只能调试到GetRespone,底层的字节流是调试不到了。所以必须得有个更深入的底层组件,方便自己调试。

  4.6、AngleSharp

  链接地址:anglesharp.github.io

  解析HTML利器AngleSharp介绍解析HTML利器AngleSharp介绍AngleSharp是基于.NET(C#)开发的专门为解析xHTML源码的DLL组件。

  4.7、HtmlAgilityPack

  链接地址:htmlagilitypack.codeplex.com

  HtmlAgilityPack 是 .NET 下的一个 HTML 解析类库。支持用 XPath 来解析 HTML 。命名空间: HtmlAgilityPack

  4.8、CSQuery

  链接地址:github.com/jamietre/CsQuery

  CsQuery 犀利的html代码分析库,像jq一样用c#处理html

  5、C/C++爬虫框架

  open-source-search-engine

  链接地址:github.com/gigablast/open-source-search-engine

  基于C/C++开发的网络爬虫和搜索引擎.

  5.1、Cobweb

  链接地址:github.com/stewartmckee/cobweb

  非常灵活,易于扩展的网络爬虫,可以单点部署使用.

  5.2、upton

  链接地址:github.com/propublica/upton

  一个易于上手的爬虫框架集合,支持CSS选择器.

  5.3、wombat

  链接地址:github.com/felipecsl/wombat

  基于Ruby天然的支持DSL的网络爬虫,易于提取网页正文数据.

  5.4、Spidr

  链接地址:github.com/postmodern/spidr

  全站数据采集,支持无限的网站链接地址采集.

  5.5、Larbin

  链接地址:larbin.sourceforge.net/download.html

  larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人Sébastien Ailleret独立开发,用c++语言实现。larbin目的是能够跟踪页面的url进行扩展的抓取,** 后为搜索引擎提供广泛的数据来源。 Larbin只是一个爬虫,也就是说larbin只抓取网页,至于如何parse的事情则由用户自己完成。另外,如何存储到数据库以及建立索引的事情 larbin也不提供。

  larbin** 初的设计也是依据设计简单但是高度可配置性的原则,因此我们可以看到,一个简单的larbin的爬虫可以每天获取500万的网页,实在是非常**。

  利用larbin,我们可以轻易的获取/确定单个网站的所有联结,甚至可以镜像一个网站;也可以用它建立url 列表群,例如针对所有的网页进行 url retrive后,进行xml的联结的获取。或者是 mp3,或者定制larbin,可以作为搜索引擎的信息的来源。

如何优化:
婚恋网站建设 舟山网站开发服务商 成都做网站建设 购物街网站建设 梅州网站开发加盟代理 盐城建设局网站 网站改版亮点怎么写文章 怀化网站定制怎么收费 php网站开发招聘 cms搭建网站
总访问数:49089689 文章总数:13698 建站天数:3384
相关阅读
01
网站速度会影响排名吗?
  测量加载时间为了衡量加载时间,你需要一个好的工具。这些测试可能需要一些时间才能进行,但是由于它们会提供有关哪些部分较慢的详细数据,请耐心等待。爱站的网站测速工具和Baidu(分析)网站速度报告可以很好地了解您网站的总体性能。这些测试可能需要一些时间才能进行,但是由于它们会提供有关哪些部分较慢的详细数据,请耐心等待。虽然这两者是相关的,但是你不会发现直接的相关性,即排名较低的网站可能会快速加载,反之......[详情查看]
02
网站优化排名seo要实用什么方法?
  如果网站里的内容都是一些垃圾信息,或者是没有一些侧重点的文章的话,那么即使喊你为我们带来了一定的客流量大家也会迅速的退出这个网页,这样的话,我们的网页停留时间就会比别人更短,久而久之排名权重也就会下降,所以说想要做好网站seo,它是一个全方位的事情,如果你有一个地方没有做好,就很有可能影响到我们全面的布局。这一点大家一定要时刻牢记,当然,在做优化seo的时候,我们也可以将关注点放置在我们的网站域名......[详情查看]
03
怎么从seo的角度去进行网站设计布局
  怎么从seo的角度去进行网站设计布局?企业选择去搭建网站,更主要的目的就是展示和营销。、网站的布局要整洁合理风格统一在对网站进行布局的时候,一定要重视布局统一。这样网站可以在进行seo的时候更好获得排名。而一个很好的网站能带给企业带来新的成功,但是一个做的不怎样的官方网站,也可能无法给企业带来任何业务。可以** 的是不管您的产品介绍内容多详细,对于那些有购买欲望的客户来说肯定还是需要咨询的......[详情查看]
04
思考如何掌握原创文章写作套路提升文章质量
  2、标题覆盖搜索需求,内容整合阅读需求。要求你去做一个专家,将你专注的行业知识以自己的观点写成文章,这也回到搜索的本质,找到需要的内容。大部分做网络营销的企业,不是做科研,所以很难提出独到的观点,所以整合阅读需求从而生产内容是不错的选择,可以参考百度百科,百科词会全面覆盖搜索者的阅读需求。通常对行业不熟悉,提不出自己的观点,整合搜索需求时,可以使用此工具减少内容上的重复。三、文章编辑人员的工作:当......[详情查看]
05
错过一定会后悔SSL证书选购指南
  不仅有高达175万美金的安全保险,更支持30天内无条件退款,同时附带有每日恶意代码扫描和每周漏洞扫描等功能。此外,Entrust与Globalsign的证书稳定性也都还不错,也可作为考虑之一。不仅有高达175万美金的安全保险,更支持30天内无条件退款,同时附带有每日恶意代码扫描和每周漏洞扫描等功能。对于电商平台、企业网站、邮件系统、电子政务类网站,天威诚信建议选择Digicert/Symantec......[详情查看]
06
什么是网站整站权重 怎么提高整站权重
  我们所说的知名度是对搜索引擎而言,它应该包括两个方面,第一:搜索引擎收录的品牌信息的数量,收录的数量(不同域名下不同内容的品牌信息)越多品牌的曝光率就越高,证明这个品牌知名度也越高。很明显,网站的优质内容越多,网站的整体权重会越高;另外如何网站的用户体验好,跳出率等数据好,这也是有利于提升网站的整体权重的。当然,权值的计算远比这个复杂。需要注意的是,都说优化是免费的,这个说法需要更正!优化是指获取......[详情查看]
07
网站icp备案,对SEO的影响有这些
  3、网站备案时间,做网站备案多少钱?网站备案的常规流程一般在20天左右,无论是企业网站以及个人网站备案,都是不收费的,而且都是有主机商代为办理,其中备案的时候需要提交网站负责人的照片,对于这部分业务,代备案公司可能相对收取一部分费用,如果你可以自行解决照片问题,那么基本上是不花钱。4、网站备案需要什么,该准备什么材料?通常来讲,你需要登录主机商的网站备案系统,下载相关的材料,包括:《非经营性网站备......[详情查看]
08
优化如何定位关键字?
  这里给我们一个例子来解释一下,比如说:一个产品工作站做两个产品关键词,一个是做消防器材,另一个做防水设备,那两个关键字是没有关系的,有点矛盾,因为消防设备主要是防火,防水设备主要是防水。4,关键词必须分析竞争程度关键词竞争的所谓分析是:我们选择和设置关键字,我们必须分析自己的资源和seo实力,如果他们的资源不够,seo弱势的力量,我们不应该选择和设置太多流行的关键词,例如:当你在2014年为您的网......[详情查看]