【问题标题】:Restricting URLs to seed URL domain only crawler4j将 URL 限制为仅种子 URL 域 crawler4j
【发布时间】:2013-11-09 11:18:21
【问题描述】:

我希望 crawler4j 以仅属于种子域的方式访问页面。种子中有多个域。我该怎么做?

假设我正在添加种子 URL:

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

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

【问题讨论】:

  • 如果您实施受限网址,如果完成,您可以发布答案,它将帮助很多人

标签: java web-crawler crawler4j


【解决方案1】:

代表 OP 发布:

在这里找到解决方案:http://code.google.com/p/crawler4j/issues/detail?id=94#c1

【讨论】:

  • Github 上的问题为空且未提供描述
  • @RousseauAlexandre:我刚刚为问题作者转发了这个。您可以在问题下发表评论,看看他们是否有更多信息给您。但是,他们自 2015 年以来就没有登录过,因此您可能需要提出一个新问题。
【解决方案2】:

如果您尝试将爬虫限制为仅与种子网址具有相同域的网址,则:

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

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

  3. 配置控制器,添加种子并以正常方式启动它...根据示例here

【讨论】:

  • 谢谢。我应该如何将种子 URL 的域名从控制器传递到爬虫类函数 shouldVisit ?如果种子 url 的数量太大(以千计),我认为这将是内存密集型的。是否可以一一抓取种子?(我正在关注基本的爬虫示例)。
  • 我已经询问了另一个在这里讨论替代方法的查询:stackoverflow.com/questions/19875771/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-05
  • 1970-01-01
  • 2020-02-03
相关资源
最近更新 更多