asp.net 抓取网页数据( 什么是Sitemap?Sitemap.Net可方便管理员通知(组图))
优采云 发布时间: 2022-04-06 10:00asp.net 抓取网页数据(
什么是Sitemap?Sitemap.Net可方便管理员通知(组图))
首先我要说明一下:Asp.Net内置的Sitemap和这里说的Sitemap是完全不一样的。Asp.Net中的Sitemap主要是用来导航用户的,这里所说的Sitemap是用来引导搜索引擎爬虫的。
我们来看看官方的解释:
什么是站点地图?
站点地图允许管理员通知搜索引擎他们 网站 可以抓取哪些页面。在最简单的形式中,Sitepmap 是一个 XML 文件,其中列出了 网站 中的 URL 和有关每个 URL 的其他元数据(上次更新时间、更改频率以及相对于 网站 其他 URL 的重要性等),以便搜索引擎可以更智能地抓取 网站。
网络爬虫通常通过 网站 和其他 网站 中的链接来查找网页。站点地图提供此数据以允许启用站点地图的爬虫抓取站点地图提供的所有 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同步交互更新数据,保证数据的及时性;而大多数其他*敏*感*词*就像一个私人爬虫,你需要手动释放它来爬取你的 网站 来为整个站点生成站点地图,我不喜欢。
Xml站点地图
这是我实现的站点地图生成工具。简单说一下实现方法:
通过数据库存储站点、页面集合、页面数据:
在 Asp.Net网站 中,在添加、删除或修改数据时,调用站点地图公开的方法来更新数据库数据。XML 格式的 Sitemap 通过 Ashx 输出,供搜索引擎爬虫读取。
在文章的最后我会分享这个项目的下载链接,然后我会谈谈如何使用这个项目。
如何部署?
我将提供以下文件用于在现有 Asp.Net网站 中部署此功能:
首先参考 XmlSitemap.dll。
然后通过“添加现有项”将 XMLSiteMap.ashx.cs 和 XMLSiteMap.ashx 添加到项目中。
然后通过“添加现有项”将 SiteMap.mdf 添加到项目的 App_Data 目录中。
在 Web.Config 中指定 SiteMap.mdf 的数据库连接字符串:
在项目中添加一个新的 Global.asax 文件(如果之前没有创建过这个文件)并在它的 Application_Start 中初始化它:
蓝色高亮部分是上面Web.Config中指定的SiteMap.mdf的数据库连接字符串;
*敏*感*词*高亮部分是你的网站名字,每次提交数据都会用到;
绿色突出显示的部分是您网站的 URL,每个新的 URL 数据必须位于该 URL 的域名下。
如何使用?
我们将模拟使用按钮添加数据:
protected void Button1_Click(对象发送者,EventArgs e)
{
var id=Guid.NewGuid();
Sitemap.Add Page("MySite", id, Path.Combine("", "Page.aspx?ID=" + id), 0.5, 更新频率。每日);
}
注意:这里只是为了测试,所以临时生成了一个Guid传入sitemap,但在实际使用中,应该和你原来数据入口的Guid一起传入,因为你以后很可能会更新,删除操作,如果你想同时在站点地图中体现出来,你还必须使用它的Guid作为标识符来找到它。
当您经常单击此按钮时,会在站点地图中添加多条数据。您可以通过访问 XmlSiteMap.ashx?Site=MySite 查看当前页面采集列表:
Url 地址是页面集合的 URL。由于页面数据量没有达到页面集合的上限,所以目前只有一个页面集合。
访问页面集合的 URL:
这里是每个页面的详细地址和相关信息列表。
除了添加数据,还有更新、删除等方法。由于都是中文写的,很容易理解,这里就不一一演示了:
下载
部署文件:
示例网站项目源码:
XmlSitemap 源代码:
本文的XPS版本:
转载于: