我正在后端使用Grails和MongoDB上的Groovy制作网络爬虫。我不确定如何为相同的 Realm 类建模。
例如:
域类网站包含用户已保存并要爬网的网站。
样板网站包含:www.google.com
搜寻www.google.com之后,我得到以下信息:
www.a.com resource types other metrics
www.b.com resource types other metrics
www.c.com resource types other metrics
www.d.com resource types other metrics
我想将它们存储在数据库中并继续爬网。同样,www.a.com在抓取时会产生更多网址,例如:
www.a1.com resource types other metrics
www.a2.com resource types other metrics
同样,对于所有其他URL,它们将具有子URL。如何为它建模域类?我有一个想法是,有一个如下的域类(将与其自身关联),但是我不确定它是否正确:
class Resource implements Comparable {
String url
String otherMetrics
SortedSet subResources
static hasMany = [subResources: Resource]
static belongsTo = [parent: Resource]
}
最佳答案
我认为您的代码无法正常工作,因为您忘记了mappingBy部分:
您可能需要下一行才能使其正常工作:
static mappedBy = [subResources:'parent']
最后,它是一棵树,对于这种问题,我使用相同的方法。
希望这可以帮助。
关于mongodb - 使用Grails和MongoDB的Web爬网程序的示例域类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24395465/