限制URL仅限种子URL域crawler4j

我希望crawler4j以这样的方式访问页面,使它们只属于种子中的域。 种子中有多个域。 我该怎么做?

假设我正在添加种子URL:

  • www.google.com
  • www.yahoo.com
  • www.wikipedia.com

现在我开始抓取,但我希望我的抓取工具仅在以上三个域中访问页面(就像shouldVisit() )。 显然有外部链接,但我希望我的抓取工具仅限于这些域。 子域,子文件夹是可以的,但不在这些域之外。

如果您尝试将抓取工具限制为仅具有与种子url相同的url的url,则:

  1. 从种子URL中提取域名。

  2. 使用shouldVisit方法编写您的爬虫类(扩展WebCrawler ),以过滤掉其域不在集合中的任何URL。

  3. 配置控制器,添加种子并以正常方式启动…按照此处的示例。

代表OP发表:

得到了解决方案: http : //code.google.com/p/crawler4j/issues/detail?id = 94#c1