• JAVA网络爬虫WebCollector深度解析——爬虫内核


    WebCollector爬虫官网:https://github.com/CrawlScript/WebCollector

    技术讨论群:250108697


    怎样将爬虫内核导入自己的项目?

    1.进入爬虫官网http://crawlscript.github.io/WebCollector/。下载压缩包。解压。

    2.解压后找到“webcollector-版本-bin.zip”,解压。

    3.将“webcollector-版本-bin.zip”解压后全部的jar,导入你的项目,就可以使用爬虫内核。


    爬虫内核的demo

    进入“webcollector-版本-bin.zip”解压后所在的目录(Windows用资源管理器。Linux用命令行)。

    Windows:双击start.bat

    Linux:运行sh start.sh

    就可以看到一个简单的DEMO,这个DEMO能够爬取整站的网页(包含图片、文件、JS、CSS),并依照站点原来的文件路径存储到本地。

    图中是用这个DEMO下载合肥工业大学官网上全部的网页和文件。





    爬虫内核提供哪些功能?

    1.一套可扩展框架。对于大多数爬虫开发人员来说,须要一个稳定、易懂的框架。

    基于框架去做自己的爬虫。

    2.爬虫所需的基本类库。

        1)html源代码获取(文件下载)。

        2)文件操作。

        3)html源代码解析(抽取)。

        4)线程池。

        5)URL生成器(遍历器)。

        6)消息机制(各组件通信)。


    基本类库:

    在介绍爬虫框架之前,先介绍一下基本类库。

    假设您不想使用我们的爬虫框架。仅仅是想做一个主要的爬虫或者网页信息收集产品,或者您仅仅是想做一个简单的HTML源代码获取器,能够导入WebCollector的jar包,直接调用爬虫内核提供的类库。



    爬虫框架:

    爬虫框架会在兴许文章中具体介绍。这里仅仅介绍它与其它爬虫框架的一些差别。

    WebCollector与其它爬虫框架最大的差别在于它提供了“消息机制”和“URL生成器”。

    1)消息机制:

    以往的大型爬虫框架。Heritrix、Nutch、Crawler4j,都是通过插件或者重载代码的机制,去实现对爬取信息的处理(解析、保存)。WebCollector提供了一套强大的消息机制(Handler)。

    比如Crawler4j,假设你须要定制爬取时对每一个页面的操作,须要重载WebCrawler类中的相关函数,而且不能在执行时定制,必须在编译前就定制一个继承WebCrawler类的类,细节请看:http://code.google.com/p/crawler4j/

    可是对于WebCollector,你仅仅须要定制一个Handler

            Handler gene_handler = new Handler() {
                @Override
                public void handleMessage(Message msg) {
                    Page page = (Page) msg.obj;
                    System.out.println(page.html);
                }
            };
    将这个handler传给遍历器就可以。

    2)URL生成器:

    Heritrx、Nutch、Crawler4j仅仅提供广度遍历的网页遍历方式。并且非常难通过他们自带的插件机制去改动遍历方式。所以WebCollector里提供了URL生成器(Generator),自己定义URL生成器能够完毕各种形式的URL遍历(尤其是对于深网爬取,如微博、动态页面)。

      


  • 相关阅读:
    Windows10关机问题----只有“睡眠”、“更新并重启”、“更新并关机”,但是又不想更新,解决办法
    3ds max学习笔记(九)-- 实例操作(路径阵列)
    3ds max学习笔记(八)-- 实例操作(直行楼梯)
    3ds max学习笔记(七)-- 实例操作(桌子)
    3ds max学习笔记(六)-- 基本操作(建模前奏)
    UE4入门(二)建立和打开项目
    3ds max学习笔记(五)--操作工具
    3ds max 学习笔记(四)--创建物体
    3ds max学习笔记(一)--选择物体
    欧拉回路输出(DFS,不用回溯!)Watchcow POJ 2230
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5170927.html
Copyright © 2020-2023  润新知