webmagic
webmagic copied to clipboard
请教一个爬虫管理的问题,欢迎各路大佬拍砖
场景: 我打算写一个爬虫,用定时任务调度,每天定时触发一次爬虫,做增量爬取,现在有两个方案: 方案1:爬虫常驻在内存里,重新将入口添加到爬虫(spider.addUrl方法),然后spider.start()唤醒爬虫,但由于去重的原因,导致爬虫直接就完成退出了。 方案2:爬虫每次爬完之后,自己退出jvm(对象销毁,内存回收),但没找到好办法,感觉爬虫一直会在内存里,因为我再次创建一个同名(uuid相同)的爬虫,会报错,提示已存在。 javax.management.InstanceAlreadyExistsException: WebMagic:name=tianya.cn
请问各路大佬,有啥好的办法?
另外,我想在爬虫任务执行到一半的时候想清空爬虫队列待爬URL的queue,放入入口url重新爬取,请问这个有办法吗?