哪种是实现机器人过滤器的正确方法,IRobot
在 Ncrawler 中扩展接口?
在我找到的少数文档中,说这是可能的,但没有说如何去做。此外,我是 C# 的新手,所以我不明白一些代码。
特别是在示例中找到的以下部分,似乎很容易引入新的规则类而不是新的机器人过滤器:
// Register new implementation for ICrawlerRules using our custom class CustomCrawlerRules defined below
NCrawlerModule.Register(builder =>
builder.Register((c, p) =>
{
NCrawlerModule.Setup(); // Return to standard setup
return new CustomCrawlerRules(p.TypedAs<Crawler>(), c.Resolve<IRobot>(p), p.TypedAs<Uri>(),
p.TypedAs<ICrawlerHistory>());
}).
As<ICrawlerRules>().
InstancePerDependency());
RobotService
类在某处“注册”,但在里面的任何地方都没有设置CustomCrawlerRules
。所有代码都可以在这里找到。