精华内容
下载资源
问答
  • java开源爬虫框架

    2016-03-14 12:20:35
    需要maven构建 建议使用idea
  • 本文列举了一些较为常用的JAVA开源爬虫框架: 1.Apache Nutch 官方网站:http://nutch.apache.org/ 是否支持分布式:是 可扩展性:中。Apache Nutch并不是一个可扩展性很强的爬虫,它是一个专门为搜索引擎定制...

    本文列举了一些较为常用的JAVA开源爬虫框架:

    1.Apache Nutch

    • 官方网站:http://nutch.apache.org/
    • 是否支持分布式:是
    • 可扩展性:中。Apache Nutch并不是一个可扩展性很强的爬虫,它是一个专门为搜索引擎定制的网络爬虫,虽然Apache Nutch具有一套强大的插件机制,但通过定制插件并不能修改爬虫的遍历算法、去重算法和爬取流程。
    • 适用性:Apache Nutch是为搜索引擎定制的爬虫,具有一套适合搜索引擎的URL维护机制(包括URL去重、网页更新等),但这套机制并不适合目前大多数的精抽取业务(即结构化数据采集)。
    • 上手难易度:难。需要使用者熟悉网络爬虫原理、hadoop开发基础及linux shell,且需要熟悉Apache Ant
    • 技术讨论群:12077868

    2.WebCollector

    • 官方网站:https://github.com/CrawlScript/WebCollector
    • 是否支持分布式:该框架同时包含了单机版和分布式版两个版本
    • 可扩展性:强
    • 适用性:WebCollector适用于精抽取业务。
    • 上手难易度:简单
    • 技术讨论群:250108697 345054141

    3.WebMagic

    4.Crawler4j

    • 官方网站:https://github.com/yasserg/crawler4j
    • 是否支持分布式:否
    • 可扩展性:低。Crawler4j实际上是一个单机版的垂直爬虫,其遍历算法是一种类似泛爬的算法,虽然可以添加一些限制,但仍不能满足目前大部分的精抽取业务。另外,Crawler4j并没有提供定制http请求的接口,因此Crawler4j并不适用于需要定制http请求的爬取业务(例如模拟登陆、多代理切换)。
    • 上手难易度:简单

    本文由网络爬虫与数据挖掘提供,转载请注明出处。

    转载于:https://www.cnblogs.com/java-h/p/11466038.html

    展开全文
  • Java开源爬虫框架WebCollector 2.x入门教程——基本概念
    Java开源爬虫框架WebCollector 2.x入门教程——基本概念

    by briefcopy · Published 2016年4月25日 · Updated 2016年12月11日

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

    目前WebCollector在Github上维护:https://github.com/CrawlScript/WebCollector
    1.WebCollector与传统网络爬虫的区别

    传统的网络爬虫倾向于整站下载,目的是将网站内容原样下载到本地,数据的最小单元是单个网页或文件。而WebCollector可以通过设置爬取策略进行定向采集,并可以抽取网页中的结构化信息。
    2.WebCollector与HttpClient、Jsoup的区别

    WebCollector是爬虫框架,HttpClient是Http请求组件,Jsoup是网页解析器(内置了Http请求功能)。

    一些程序员在单线程中通过迭代或递归的方法调用HttpClient和Jsoup进行数据采集,这样虽然也可以完成任务,但存在两个较大的问题:

    1) 单线程速度慢,多线程爬虫的速度远超单线程爬虫。

    2) 需要自己编写任务维护机制。这套机制里面包括了URL去重、断点爬取(即异常中断处理)等功能。

    WebCollector框架自带了多线程和URL维护,用户在编写爬虫时无需考虑线程池、URL去重和断点爬取的问题。
    3.WebCollector能够处理的量级

    WebCollector目前有单机版和Hadoop版(WebCollector-Hadoop),单机版能够处理千万级别的URL,对于大部分的精数据采集任务,这已经足够了。WebCollector-Hadoop能够处理的量级高于单机版,具体数量取决于集群的规模。
    4.WebCollector的遍历

    WebCollector采用一种粗略的广度遍历,但这里的遍历与网站的拓扑树结构没有任何关系,用户不需要在意遍历的方式。

    网络爬虫会在访问页面时,从页面中探索新的URL,继续爬取。WebCollector为探索新URL提供了两种机制,自动解析和手动解析。两种机制的具体内容请读后面实例中的代码注释。
    5.WebCollector 2.x版本新特性

        1)自定义遍历策略,可完成更为复杂的遍历业务,例如分页、AJAX
        2)可以为每个URL设置附加信息(MetaData),利用附加信息可以完成很多复杂业务,例如深度获取、锚文本获取、引用页面获取、POST参数传递、增量更新等。
        3)使用插件机制,WebCollector内置两套插件。
        4)内置一套基于内存的插件(RamCrawler),不依赖文件系统或数据库,适合一次性爬取,例如实时爬取搜索引擎。
        5)内置一套基于Berkeley DB(BreadthCrawler)的插件:适合处理长期和大量级的任务,并具有断点爬取功能,不会因为宕机、关闭导致数据丢失。
        6)集成selenium,可以对javascript生成信息进行抽取
        7)可轻松自定义http请求,并内置多代理随机切换功能。 可通过定义http请求实现模拟登录。
        8)使用slf4j作为日志门面,可对接多种日志
        9)新增了WebCollector-Hadoop,支持分布式爬取

    6.WebCollector爬取新闻网站实例

    import cn.edu.hfut.dmic.webcollector.model.CrawlDatums;
    import cn.edu.hfut.dmic.webcollector.model.Page;
    import cn.edu.hfut.dmic.webcollector.plugin.berkeley.BreadthCrawler;
    import org.jsoup.nodes.Document;

    /**
     * 从合肥大学官网爬取信息
     *
     * @author hu
     */
    public class NewsCrawler extends BreadthCrawler {

        /**
         * @param crawlPath crawlPath is the path of the directory which maintains
         * information of this crawler
         * @param autoParse if autoParse is true,BreadthCrawler will auto extract(提取)
         * links which match regex rules from pag//符合正则的url
         */
        public NewsCrawler(String crawlPath, boolean autoParse) {
            super(crawlPath, autoParse);
            /*种子页面*/
            this.addSeed("http://news.hfut.edu.cn/list-1-1.html");

            /*正则规则设置*/
            /*爬取符合 http://news.hfut.edu.cn/show-xxxxxxhtml的URL*/
            this.addRegex("http://news.hfut.edu.cn/show-.*html");
            /*不要爬取 jpg|png|gif*/
            this.addRegex("-.*\\.(jpg|png|gif).*");
            /*不要爬取包含 # 的URL*/
            this.addRegex("-.*#.*");
        }

        @Override
        public void visit(Page page, CrawlDatums next) {
            String url = page.getUrl();
            /*判断是否为新闻页,通过正则可以轻松判断*/
            if (page.matchUrl("http://news.hfut.edu.cn/show-.*html")) {
                /*we use jsoup to parse page*/
                Document doc = page.getDoc();

                /*extract title and content of news by css selector*/
                String title = page.select("div[id=Article]>h2").first().text();
                String content = page.select("div#artibody", 0).text();

                System.out.println("URL:\n" + url);
                System.out.println("title:\n" + title);
                System.out.println("content:\n" + content);

                /*如果你想添加新的爬取任务,可以向next中添加爬取任务,
                   这就是上文中提到的手动解析*/
                /*WebCollector会自动去掉重复的任务(通过任务的key,默认是URL),
                  因此在编写爬虫时不需要考虑去重问题,加入重复的URL不会导致重复爬取*/
                /*如果autoParse是true(构造函数的第二个参数),爬虫会自动抽取网页中符合正则规则的URL,
                  作为后续任务,当然,爬虫会去掉重复的URL,不会爬取历史中爬取过的URL。
                  autoParse为true即开启自动解析机制*/
                //next.add("http://xxxxxx.com");
            }
        }

        public static void main(String[] args) throws Exception {
            NewsCrawler crawler = new NewsCrawler("crawl", true);
            /*线程数*/
            crawler.setThreads(50);
            /*设置每次迭代中爬取数量的上限*/
            crawler.setTopN(5000);
            /*设置是否为断点爬取,如果设置为false,任务启动前会清空历史数据。
               如果设置为true,会在已有crawlPath(构造函数的第一个参数)的基础上继
               续爬取。对于耗时较长的任务,很可能需要中途中断爬虫,也有可能遇到
               死机、断电等异常情况,使用断点爬取模式,可以保证爬虫不受这些因素
               的影响,爬虫可以在人为中断、死机、断电等情况出现后,继续以前的任务
               进行爬取。断点爬取默认为false*/
            //crawler.setResumable(true);
            /*开始深度为4的爬取,这里深度和网站的拓扑结构没有任何关系
                可以将深度理解为迭代次数,往往迭代次数越多,爬取的数据越多*/
            crawler.start(4);
        }

    }

    原文链接 :http://datahref.com/archives/22

    展开全文
  • java开源爬虫程序

    2011-01-04 19:13:29
    今天有人让做网络爬虫,所以在网上搜了下java写...Heritrix是一个开源,可扩展的web爬虫项目。Heritrix设计成严格按照robots.txt文件的排除指示和META robots标签。 [b]WebSPHINX [/b] WebSPHINX是一个Java类...
    今天有人让做网络爬虫,所以在网上搜了下java写的爬虫,发现了下面的文章,很好就转过来,供大家学习交流 
    
    [url][b]Heritrix[/b] [/url]

    Heritrix是一个开源,可扩展的web爬虫项目。Heritrix设计成严格按照robots.txt文件的排除指示和META robots标签。

    [b]WebSPHINX [/b]

    WebSPHINX是一个Java类包和Web爬虫的交互式开发环境。Web爬虫(也叫作机器人或蜘蛛)是可以自动浏览与处理Web页面的程序。WebSPHINX由两部分组成:爬虫工作平台和WebSPHINX类包。
    [b]
    WebLech[/b]

    WebLech是一个功能强大的Web站点下载与镜像工具。它支持按功能需求来下载web站点并能够尽可能模仿标准Web浏览器的行为。WebLech有一个功能控制台并采用多线程操作。
    [b]
    Arale [/b]

    Arale主要为个人使用而设计,而没有像其它爬虫一样是关注于页面索引。Arale能够下载整个web站点或来自web站点的某些资源。Arale还能够把动态页面映射成静态页面。
    [b]
    J-Spider [/b]

    J-Spider:是一个完全可配置和定制的Web Spider引擎.你可以利用它来检查网站的错误(内在的服务器错误等),网站内外部链接检查,分析网站的结构(可创建一个网站地图),下载整个Web站点,你还可以写一个JSpider插件来扩展你所需要的功能。
    [b]
    Spindle
    [/b]
    spindle 是一个构建在Lucene工具包之上的Web索引/搜索工具.它包括一个用于创建索引的HTTP spider和一个用于搜索这些索引的搜索类。spindle项目提供了一组JSP标签库使得那些基于JSP的站点不需要开发任何Java类就能够增加搜索功能。

    [b]Arachnid [/b]

    Arachnid: 是一个基于Java的web spider框架.它包含一个简单的HTML剖析器能够分析包含HTML内容的输入流.通过实现Arachnid的子类就能够开发一个简单的Web spiders并能够在Web站上的每个页面被解析之后增加几行代码调用。 Arachnid的下载包中包含两个spider应用程序例子用于演示如何使用该框架。

    [b]LARM [/b]

    LARM能够为Jakarta Lucene搜索引擎框架的用户提供一个纯Java的搜索解决方案。它包含能够为文件,数据库表格建立索引的方法和为Web站点建索引的爬虫。
    [b]
    JoBo [/b]

    JoBo 是一个用于下载整个Web站点的简单工具。它本质是一个Web Spider。与其它下载工具相比较它的主要优势是能够自动填充form(如:自动登录)和使用cookies来处理session。JoBo还有灵活的下载规则(如:通过网页的URL,大小,MIME类型等)来限制下载。

    [b]Snoics-reptile [/b]

    snoics- reptile是用纯Java开发的,用来进行网站镜像抓取的工具,可以使用配制文件中提供的URL入口,把这个网站所有的能用浏览器通过GET的方式获取到的资源全部抓取到本地,包括网页和各种类型的文件,如:图片、flash、mp3、zip、rar、exe等文件。可以将整个网站完整地下传至硬盘内,并能保持原有的网站结构精确不变。只需要把抓取下来的网站放到web服务器(如:Apache)中,就可以实现完整的网站镜像。
    下载地址:
    snoics-reptile2.0.part1.rar
    snoics-reptile2.0.part2.rar
    snoics-reptile2.0-doc.rar

    [b]Web-Harvest [/b]

    Web-Harvest是一个Java开源Web数据抽取工具。它能够收集指定的Web页面并从这些页面中提取有用的数据。Web-Harvest主要是运用了像XSLT,XQuery,正则表达式等这些技术来实现对text/xml的操作


    本文来自于:http://www.open-open.com/68.htm
    展开全文
  • 推荐十个优秀的Java开源爬虫

    千次阅读 2017-06-17 23:58:18
    爬虫简介: WebCollector是一个无须配置、便于二次开发的JAVA爬虫框架(内核),它提供精简的的API,只需少量代码即可实现一个功能强大的爬虫。WebCollector-Hadoop是WebCollector的Hadoop版本,支持分...

     

    1:JAVA爬虫WebCollector Star:1345

    下载地址:http://www.17ky.net/soft/9278.html

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

    2:开源通用爬虫框架YayCrawler Star:91

    下载地址:http://www.17ky.net/soft/578.html

    YayCrawler是一个基于WebMagic开发的分布式通用爬虫框架,开发语言是Java。我们知道目前爬虫框架很多,有简单的,也有复杂的,有轻 量型的,也有重量型的

    3:垂直爬虫WebMagic Star:1213

    下载地址:http://www.17ky.net/soft/9284.html

    webmagic的是一个无须配置、便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫。 以下是爬取oschina博客的一段代码: Spider.create(new SimplePageProcessor("http://my.oschina.net/", "http...

    4:雅虎开源的Nutch爬虫插件 Anthelion Star:2888

    下载地址:http://www.17ky.net/soft/189.html

    Anthelion 是 Nutch 插件,专注于爬取语义数据。 注意:此项目包括完整的 Nutch 1.6 版本,此插件放置在 /src/plugin/parse-anth Anthelion 使用在线学习方法来基于页面上下文预测富数据 Web 页面,从之前查看的页面提取的元数据获取反馈。 主要有三个扩展: AnthelionScoringFilter WdcParser TripleExtractor 示例:...

    5:Java开源网络爬虫项目Nutch 

    下载地址:http://www.17ky.net/soft/302.html

    Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。 Nutch的创始人是Doug Cutting,他同时也是Lucene、Hadoop和Avro开源项目的创始人。 Nutch诞生于2002年8月,是Apache旗下的一个用Java实现的开源搜索引擎项目,自Nutch1.2版本之后,Nutch已经从搜索引擎演...

    6:Java网络蜘蛛/网络爬虫Spiderman Star:1801

    下载地址:http://www.17ky.net/soft/9279.html

    Spiderman - 又一个Java网络蜘蛛/爬虫 Spiderman 是一个基于微内核+插件式架构的网络蜘蛛,它的目标是通过简单的方法就能将复杂的目标网页信息抓取并解析为自己所需要的业务数据。 最新提示:欢迎来体验最新版本Spiderman2,http://git.oschina.net/...

    7:轻量化的Java网络爬虫 GECCO Star:658

    下载地址:http://www.17ky.net/soft/465.html

    Gecco是什么 Gecco是一款用java语言开发的轻量化的易用的网络爬虫。Gecco整合了jsoup、httpclient、fastjson、spring、htmlunit、redission等优秀框架,让您只需要配置一些jquery风格的选择器就能很快的写出一个爬虫。Gecco框架有优秀的可扩展性,框架基于开闭原则进行设计,对修改关闭、对扩展开放。同时Gecco基于十分开...

    8:开源爬虫框架WebPasser Star:15

    下载地址:http://www.17ky.net/soft/34660.html

    WebPasser是一款可配置的开源爬虫框架,提供爬虫控制台管理界面,通过配置解析各类网页内容,无需写一句java代码即可抽取所需数据。 1.包含强大的页面解析引擎,提供jsoup、xpath、正则表达式等处理链,通过简单配置即可抽取所需的指定内容。 2.提供爬虫控制管理界面,可实时监控抓取状...

    9:一个敏捷强大的Java爬虫框架SeimiCrawler Star:635

    下载地址:http://www.17ky.net/soft/351.html

    SeimiCrawler是一个敏捷的,独立部署的,支持分布式的Java爬虫框架,希望能在最大程度上降低新手开发一个可用性高且性能不差的爬虫系统的门槛,以及提升开发爬虫系统的开发效率。

    10:爬虫系统NEOCrawler Star:258

    下载地址:http://www.17ky.net/soft/34612.html

    NEOCrawler(中文名:牛咖),是nodejs、redis、phantomjs实现的爬虫系统。代码完全开源,适合用于垂直领域的数据采集和爬虫二次开发。 【主要特点】 使用nodejs实现,javascipt简单、高效、易学、为爬虫的开发以及爬虫使用者的二次开发节约不少时间;nodejs使...

    展开全文
  • Java开源爬虫框架WebCollector爬取CSDN博客 by briefcopy · Published 2016年4月25日 · Updated 2017年5月4日 新闻、博客爬取是数据采集中常见的需求,也是最容易实现的需求。一些开发者利用HttpClient和...
  • WebMagic与WebCollector比较一、架构 Webcollector图片来自官方文档 WebMagic二、维护者WebMegic:董亿华,前点评工程师,现自主创业WebCollector::合肥工业大学DMIC三、最近更新时间(截止至2018.4.8)WebMegic:...
  • (2)利用WebCollector和获取的cookie爬取新浪微博并抽取数据(WeiboCrawler.java) WeiboCN.java package cn.edu.hfut.dmic.contentextractor; import cn.edu.hfut.dmic.webcollector.net.HttpRequest; ...
  • 抽空进行了Gecco爬虫文档的撰写,目录如下:   Gecco是什么 1. 一分钟你就可以写一个简单爬虫 2. 软件总体结构 3. 从下载说起 4. 抽取页面内容 5. 业务逻辑处理   地址:...
  • 如果你想用爬虫下载整站内容,
  •  * 启动爬虫爬虫从此刻开始执行爬虫任务,根据以上配置  */  controller.start(MyCrawler.class, numberOfCrawlers);  } }   MyCrawler类: /**  * YangJie  * 2018年11月21日下午9:09:15  ...
  • 19款Java开源Web爬虫

    2017-06-30 09:47:46
    网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常...今天将为大家介绍19款Java开源Web爬虫,需要的小伙伴们赶快收藏吧。 一、Heritrix  Heritrix 是一个由 java 开发的、开源的网络爬虫,用户可以
  • 几个Java开源爬虫

    2011-06-21 19:33:00
    网页爬虫汇总Heritrix Heritrix是一个开源,可扩展的web爬虫项目。Heritrix设计成严格按照robots.txt文件的排除指示和META robots标签。http://crawler.archive.org/WebSPHINX WebSPHINX是一个Java类包和Web爬虫的...
  • Java开源的网络爬虫

    2010-06-19 11:07:33
    这是一个开源的网络爬虫,附详细的说明文档(英文)
  • Java开源Web爬虫

    千次阅读 2006-09-21 20:42:00
    Heritrix 点击次数:3822Heritrix是一个开源,可扩展的web爬虫项目。Heritrix设计成严格按照robots.txt文件的排除指示和META robots标签。 WebSPHINX 点击次数:2205WebSPHINX是一个Java类包和Web爬虫的交互式开发...
  • 一个基于java爬虫
  • Java开源Web爬虫种类

    千次阅读 2011-10-28 23:46:09
    [源] = [ ... ...Heritrix是一个开源,可扩展的web爬虫项目。Heritrix设计成严格按照robots.txt文件的排除指示和META robots标签。 更多Heritrix信息  WebSPHINX  WebSPHINX
  • 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,...今天将为大家介绍19款Java开源Web爬虫,需要的小伙伴们赶快收藏吧。 一、Heritrix Heritrix 是一个由 java 开发的、开源的网络爬虫,用户可以使
  • 喜欢爬虫二开的同学们看过来,这里介绍了一款适合二次开发的java开源爬虫框架。几行代码,你就可以做出来一个强大的爬虫。 本项目支持分布式爬取,入门也比较简单。文档很齐全,无需担心任何风险。 文档可以教你...
  •  WebCollector是一个无须配置、便于二次开发的JAVA爬虫框架(内核),它提供精简的的API,只需少量代码即可实现一个功能强大的爬虫。  WebCollector致力于维护一个稳定、可扩的爬虫内核,便于开发者进行灵活的二...
  • 展开全部首先爬2113虫框架有三种分布式爬虫:NutchJAVA单机爬5261虫:Crawler4j,WebMagic,WebCollector非JAVA单机爬虫:scrapy第一4102类:分布式爬虫优点:海量1653URL管理网速快缺点:Nutch是为搜索引擎设计的...
  • 开源爬虫汇总

    2015-08-14 17:33:34
    开源爬虫软件汇总
  • 开源爬虫

    千次阅读 2014-06-11 08:46:59
    世界上已经成型的爬虫软件多达上百种,本文对较为知名及常见的开源爬虫软件进行梳理,按开发语言进行汇总,如下表所示。虽然搜索引擎也有爬虫,但本次我汇总的只是爬虫软件,而非大型、复杂的搜索引擎,因为很多兄弟...
  • 转自:网络,原始来源不详HeritrixHeritrix是一个开源,可扩展的web爬虫项目。Heritrix设计成严格按照robots.txt文件的排除指示和META robots标签。WebSPHINXebSPHINX是一个Java类包和Web爬虫的交互式开发环境。Web...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,271
精华内容 8,108
关键字:

java开源爬虫平台

java 订阅
爬虫 订阅