webmagic icon indicating copy to clipboard operation
webmagic copied to clipboard

执行run()之后,怎么判断已完成呢?

Open zczhzy opened this issue 6 years ago • 4 comments

Spider.create(new TestProcessor()) .addUrl("http://xxx.xxx") .thread(5) .run(); 我想在页面爬完之后,做下一步的操作,怎么样才能知道已经爬完了呢?

zczhzy avatar Aug 24 '18 08:08 zczhzy

同问

gcqst avatar Aug 29 '18 11:08 gcqst

个人发现的两个办法: 1.爬取动作从异步改为同步,调用的start方法改为run方法。 2.获取源码中的Spider.java,搜索“Spider {} closed! {} pages downloaded”,在下方写入自定义方法。。

wqqwqqwqq avatar Oct 15 '18 09:10 wqqwqqwqq

我最近在基于这个框架开发,也有这个需求 目前解决方法是继承Spider的类,然后在该类中重写run()方法,在super.run()之后插入一个函数作为钩子

whitefly avatar Mar 06 '21 16:03 whitefly

while (spiderWorker.getStatus() != Spider.Status.Stopped) { try { sleep(1000); log.info("spiderWorker running sleep"); } catch (InterruptedException e) { log.info("spiderWorker interruptedException", e); } } 我是这样搞的,在外面死循环判断爬虫的状态

lomoye avatar Jul 20 '21 10:07 lomoye