简短的问题:

是否有人有任何C#代码来解析robots.txt然后针对它评估URLS,所以看看它们是否会被排除。

很长的问题:

我一直在为尚未发布到谷歌的新网站创建站点地图。站点地图有两种模式,一种是用户模式(如传统的站点地图)和一种“管理”模式。

管理员模式将显示网站上所有可能的URL,包括特定外部合作伙伴的自定义条目URL或URLS,例如example.com/oprah适用于在Oprah上查看我们网站的任何人。我想跟踪Excel电子表格以外的其他地方发布的链接。

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

因此,在创建站点地图的同时,我还添加了robots.txt等URL,以便从我们的<=>文件中排除。

然后(这是实际的问题)我认为“能够在站点地图上显示文件是否被索引并且对机器人可见”不是很好。这很简单 - 只需解析robots.txt然后评估一个链接。

然而,这是一个“奖励功能”,我当然没有时间去写它(甚至认为它可能不那么复杂) - 所以我想知道是否有人已经编写任何代码来解析机器人。 txt?

有帮助吗?

解决方案

讨厌说,但只是谷歌<!>“C#robots.txt解析器<!>”;然后单击第一个匹配。这是一篇关于用C#实现的简单搜索引擎的 CodeProject文章,名为<!>“; Searcharoo <! >“,它包含一个类Searcharoo.Indexer.RobotsTxt,描述为:

  
      
  1. 检查并(如果有)下载并解析网站上的robots.txt文件
  2.   
  3. 为Spider提供一个界面,以根据robots.txt规则检查每个Url
  4.   

其他提示

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

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

http://nrobots.codeplex.com/

我喜欢任何反馈

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top