asp.net 抓取网页数据(什么是Sitemap?Sitemap.Net可方便管理员通知(组图) )

优采云 发布时间: 2021-11-10 08:17

  asp.net 抓取网页数据(什么是Sitemap?Sitemap.Net可方便管理员通知(组图)

)

  首先我要说明一下:Asp.Net内置的Sitemap与这里提到的Sitemap完全不同。Asp.Net中的Sitemap主要用于用户的导航,这里所说的Sitemap是用来引导搜索引擎爬虫的。

  我们先来看看官方的解释:

  什么是站点地图?站点地图允许管理员通知搜索引擎哪些页面可用于在 网站 上抓取。Sitepmap 最简单的形式是一个 XML 文件,其中列出了 网站 中的 URL 以及关于每个 URL 的其他元数据(上次更新的时间、更改的频率,以及相对于 网站 的重要性?其他网址等),以便搜索引擎可以更智能地抓取网站。

  网络爬虫通常通过网站和其他网站内的链接来寻找网页。Sitemap 提供此数据以允许支持 Sitemap 的爬虫抓取 Sitemap 提供的所有 URL 并了解使用相关元数据的 URL。使用 Sitemap 协议并不能保证网页会被搜索引擎收录,但您可以向网络爬虫提供一些提示,以便他们更有效地爬取 网站。

  站点地图 0.90 是根据署名-相同方式共享许可(Attribution-ShareAlike Creative Commons License)条款提供的,被包括 Google、Yahoo! 在内的许多供应商广泛采用和支持。和微软。

  引自:

  综上所述,提供Sitemap是一种辅助搜索引擎爬虫收录网站的手段。如果没有 Sitemap,您的 网站 将是 收录,但是有了 Sitemap,收录 将更加全面和准确。

  除了提供网址,最重要的是提供页面的更新时间戳,以及网站关键点和更新回访频率建议,让搜索引擎更准确的掌握你的网站。

  如何自动生成Sitemap?

  有很多现成的发电机

  但是,在 Asp.Net 中,没有官方的生成工具。搜索“Asp.Net Sitemap”也会发现很多Asp.Net内置的Sitemap功能介绍页面。

  因此,我希望自己实现一个Asp.Net Sitemap 生成工具。并且希望这个工具能够与Asp.Net同步交互更新数据,保证数据的及时性;而其他大多数*敏*感*词*就像一个私人爬虫,你需要手动释放它来爬取你的网站,生成整个站点的站点地图,我不喜欢这样。

  站点地图

  这是我实现的站点地图生成工具。先简单说一下实现方法:

  通过数据库存储站点、页面集合和页面数据:

  

  在Asp.Net网站中,在添加、删除、修改数据时,会调用站点地图上公开的方法来更新数据库数据。通过Ashx输出XML格式的Sitemap供搜索引擎爬虫读取。

  在文章的最后我会分享这个项目的下载链接,然后我会谈谈如何使用这个项目。

  如何部署?

  我将提供以下文件用于在现有 Asp.Net网站 中部署此功能:

  

  必须首先引用 XmlSitemap.dll。

  然后通过“添加现有项”将 XMLSiteMap.ashx.cs 和 XMLSiteMap.ashx 添加到项目中。

  然后通过“Add Existing Item”将SiteMap.mdf添加到项目的App_Data目录下。

  在 Web.Config 中指定 SiteMap.mdf 的数据库连接字符串:

  ", "Page.aspx?id=" + id), 0.5, 更新频率。每日);

  }

  注意:这只是为了测试,所以临时生成了一个Guid传入sitemap,实际使用中应该和你原来数据入口的guid一起传入,因为你以后可能会更新,删除操作,如果你想同时在站点地图中体现它,你还必须使用它的Guid作为标识符才能找到它。

  当您频繁点击此按钮时,会在站点地图中添加多条数据。您可以通过访问 XmlSiteMap.ashx?Site=MySite 来查看当前页面集合列表:

  

  Url 地址是页面集合的 URL。由于页面数据量没有达到页面集合的上限,所以目前只有一个页面集合。

  访问页面集合的 URL:

  

  这里是每个页面的详细地址和相关信息列表。

  除了添加数据,还有更新、删除等方法。由于代码都是中文写的,简单易懂,这里就不一一演示了:

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线