我希望crawler4j以仅属于种子域的方式访问页面。种子中有多个域。我该怎么做?
假设我正在添加种子 URL:
- www.google.com
- www.yahoo.com
- www.wikipedia.com
现在我开始抓取,但我希望我的爬虫只访问上述三个域中的页面(就像shouldVisit()
一样)。显然有外部链接,但我希望我的爬虫仅限于这些域。子域,子文件夹是可以的,但不能在这些域之外。
代表OP发布:
在这里得到了解决方案:http://code.google.com/p/crawler4j/issues/detail?id=94#c1
如果您尝试将爬网程序限制为仅包含与种子网址具有相同域的网址,则:
-
从种子 URL 中提取域名。
-
使用
shouldVisit
方法编写爬网程序类(扩展WebCrawler
),以过滤掉域不在集合中的任何 URL。 -
配置控制器,添加种子并以正常方式启动它......根据此处的示例。