我正在Clojure中开发一个应用程序,我正在使用它的爬虫来抓取特定的网站。
现在我想知道是否可以运行它的爬虫一段时间,然后停止整个应用程序,但是当我再次启动应用程序以跳过已经访问过的 url 时?
从源代码来看,itsy 没有提供用于保存爬虫当前状态的内置机制。但是,爬网程序的当前状态可以在crawl
函数的结果中访问,在:state
键下。
您可以在退出应用程序时序列化 :seen-urls
atom 和:queued-urls
队列中的值,然后在再次启动应用程序时反序列化它们。看起来您必须在运行 crawl
函数后添加保存的值,以确保所有内容都正确初始化。