伙计们
下面的代码将访问的链接添加到我的爬虫上。在提取链接之后,我有一个for循环,该循环遍历每个单独的href标记。
当我访问了一个链接,打开它之后,我将把URL添加到上面定义的访问链接集合变量中。
private final Collection<String> urlForntier = Collections.synchronizedSet(new HashSet<String>()); 爬虫实现是多线程的,假设如果我访问了10万个urls,如果我没有终止这个爬虫,它就会一天比一天长。它会造成内存问题吗?请注意,在不造成线程间不一致的情况下,我要刷新变量的选项是什么?
提前感谢!
发布于 2021-10-11 19:32:41
如果你的爬行器很好,那么管理爬行边界就会变得困难、缓慢和容易出错。
幸运的是,您不需要自己编写它,只需编写您的爬虫来使用URL边界 API并插入适合您的实现。
发布于 2015-11-18 12:18:04
发布于 2015-11-18 12:54:46
https://stackoverflow.com/questions/33779710
复制相似问题