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