English 中文(简体)
有没有任何C#代码可以解析robots.txt并根据其评估URL?
原标题:
  • 时间:2009-03-11 05:47:23
  •  标签:

简短的问题:

有没有任何C#代码来解析robots.txt,然后对URL进行评估,以查看它们是否会被排除。

长问题:

我已经为一个尚未发布到Google的新网站创建了一个网站地图。该网站地图有两种模式,一种是用户模式(类似于传统的网站地图),另一种是管理员模式。

管理员模式将显示站点上所有可能的 URL,包括自定义条目 URL 或针对特定外部合作伙伴的 URL - 比如任何在 Oprah 上看到我们网站的人都可以看到 example.com/oprah。我想在某个地方跟踪发布的链接,而不是在 Excel 电子表格中。

我必须假设有人可能会在他们的博客或其他地方发布/oprah链接。我们实际上不希望将这个迷你奥普拉网站编入索引,因为这将导致非奥普拉观众能够找到特别的奥普拉优惠。

所以在制作站点地图的同时,我也将类似于/oprah的URL添加到我们的robots.txt文件中被排除列表中。

然后(这是实际的问题)我想,能否在网站地图上显示文件是否已经被索引和对机器人可见,这将非常简单 - 只需解析robots.txt文件,然后对链接进行评估。

然而,这是一个额外的功能,我当然没有时间去写它(即使它可能并不那么复杂),所以我想知道是否有人已经编写了任何解析robots.txt的代码?

最佳回答

很不情愿地说,只需在谷歌中搜索“C# robots.txt解析”,并点击第一个结果。这是一个关于用C#实现的简单搜索引擎“Searcharoo”的CodeProject文章,其中包含一个名为Searcharoo.Indexer.RobotsTxt的类,被描述为:

  1. Check for, and if present, download and parse the robots.txt file on the site
  2. Provide an interface for the Spider to check each Url against the robots.txt rules
问题回答

我喜欢 http://code.google.com/p/robotstxt/ 中的代码和测试,建议将其作为起点。

有点自我推销,但由于我需要一个类似的解析器,而我找不到任何我满意的东西,所以我自己创建了一个:

将此翻译成中文:http://nrobots.codeplex.com/ http://nrobots.codeplex.com/

我很愿意接受任何反馈意见。





相关问题
热门标签