65.9K
CodeProject 正在变化。 阅读更多。
Home

Google 网站地图爬虫

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.33/5 (2投票s)

2007年12月13日

CPOL

1分钟阅读

viewsIcon

30000

downloadIcon

480

控制台应用程序,用于检查 sitemap.xml 文件中列出的所有 URL

引言

你有没有想过验证站点地图文件中列出的每个 URL?

背景

我有一个站点,其页面链接是动态生成的。这些链接基于页面标题生成,页面标题可以是字母、数字和符号的任意组合。当然,站点会在生成 URL 之前从页面标题中删除所有禁止的字符,并对其进行修剪和缩短... 但是,仍然会时不时地发生错误。例如,一个标题为:''...IS_BROKEN'' ''' 的页面,由于我的 URL 转换规范,将具有以下 URL:/.IS_BROKEN+ 。有成千上万的页面,因此很明显我无法验证站点数据库中包含的每个单独页面。

基于动态生成的 URL 列表,我生成一个 sitemap.xml 文件,其中包含站点上的所有页面。因此,每次生成地图文件时,我都需要确保没有重复项(如果不同的页面具有相同的标题,则可能发生这种情况),并且每个单独的 URL 都可以访问,即不会产生错误请求、404 或其他任何错误。

因此,我创建了一个 C# 程序,该程序遍历 sitemap.xml 文件中列出的每个 URL 并尝试访问它。它将所有发生的错误记录到输出文件中,因此可以轻松跟踪有问题页面。

我使用 XmlDocument 类加载 sitemap.xml;使用 WebRequest 和 WebResponse 类确定 URL 是否存在。

© . All rights reserved.