美文网首页菜鸟要飞
WebMagic学习(五)之爬虫的监控

WebMagic学习(五)之爬虫的监控

作者: 万总有点菜 | 来源:发表于2017-04-30 21:47 被阅读604次

    爬虫的监控。

    利用WebMagic 的这个功能,可以查看爬虫的执行情况——已经下载了多少页面、还有多少页面、启动了多少线程等信息。该功能通过JMX 实现,可以使用Jconsole 等JMX 工具查看本地或者远程的爬虫信息。推荐阅读:JMX整理
    注意: 如果你自己定义了Scheduler,那么需要用这个类实现MonitorableScheduler 接口,才能查看“LeftPageCount” 和“TotalPageCount” 这两条信息。

    一个例子

    添加监控非常简单,获取一个SpiderMonitor 的单例SpiderMonitor.instance(),并将想要监控的Spider 注册进去即可。你可以注册多个Spider 到SpiderMonitor 中。

    package com.sima.crawler;
    
    import us.codecraft.webmagic.Spider;
    import us.codecraft.webmagic.monitor.SpiderMonitor;
    import us.codecraft.webmagic.pipeline.ConsolePipeline;
    
    import javax.management.JMException;
    
    /**
     * Created by cfq on 2017/4/30.
     */
    public class MonitorTest {
    
        public static void main(String[] args){
    
            Spider spider = Spider.create(new GankRepoPageProcessor())
                    .addUrl("http://gank.io")
                    .addPipeline(new ConsolePipeline())
                    .thread(5);
            try {
                SpiderMonitor.instance().register(spider);
    
            } catch (JMException e) {
                e.printStackTrace();
            }
          spider.start();
        }
    }
    

    查看监控信息

    命令行输入jconsole(windows下是在DOS下输入jconsole.exe)即可启动JConsole。


    JConsole启动界面

    选择启动WebMagic的本地进程,连接后选择“MBean”,点开“WebMagic”,就能看到所有已经监控的Spider信息了!


    JConsole链接中
    属性信息
    这里可以选择“操作”,在操作里可以选择启动-start()和终止爬虫-stop(),这会直接调用对应Spider的start()和stop()方法,来达到基本控制的目的。
    操作

    相关文章

      网友评论

        本文标题:WebMagic学习(五)之爬虫的监控

        本文链接:https://www.haomeiwen.com/subject/tmbxtxtx.html